Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

itmo500

.pdf
Скачиваний:
88
Добавлен:
30.01.2015
Размер:
4.95 Mб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, МЕХАНИКИ И ОПТИКИ

А.О. Ключев, Д.Р. Ковязина, Е.В. Петров, А.Е. Платунов

ИНТЕРФЕЙСЫ ПЕРИФЕРИЙНЫХ УСТРОЙСТВ

Учебное пособие

Санкт-Петербург

2010

Ключев А.О., Ковязина Д.Р., Петров Е.В., Платунов А.Е. Интерфейсы периферийных устройств. – СПб.: СПбГУ ИТМО, 2010. – 290 с.

Учебное пособие посвящено вопросам организации интерфейсов периферийных устройств. В пособии рассматриваются: организация системы ввода-вывода, способы обмена информацией между устройствами вычислительной системы, аппаратные интерфейсы вычислительных систем. В приложениях к учебному пособию помещены справочные данные и задания к выполнению лабораторных работ с использованием учебного лабораторного стенда SDK-1.1.

Для подготовки бакалавров и магистров по направлению 23.01.00 «Информатика и вычислительная техника»; по программам подготовки магистров 23.01.00.33 «Проектирование встроенных вычислительных систем» и 23.01.00.34 «Системотехника интегральных вычислителей. Системы на кристалле».

Рекомендовано к печати ученым советом факультета КТиУ, протокол №15

от 16.11.2010 г.

В 2009 году Университет стал победителем многоэтапного конкурса, в результате которого определены 12 ведущих университетов России, которым присвоена категория «Национальный исследовательский университет». Министерством образования и науки Российской Федерации была утверждена Программа развития государственного образовательного учреждения высшего профессионального образования «Санкт-Петербургский государственный университет информационных технологий, механики и оптики» на 2009–2018 годы.

©Санкт-Петербургский государственный университет информационных технологий, механики и оптики, 2010

© А.О. Ключев, Д.Р. Ковязина, Е.В. Петров,

А.Е. Платунов, 2010.

Оглавление

 

ВВЕДЕНИЕ.....................................................................................................................................................

8

1 ОРГАНИЗАЦИЯ СИСТЕМЫ ВВОДА-ВЫВОДА ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ......

10

1.1 ОСНОВЫ АРХИТЕКТУРНОЙ ОРГАНИЗАЦИИ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ ......................

10

1.1.1 Принципы Фон-Неймановской архитектуры..................................................

11

1.1.2 Достоинства и недостатки Принстонской архитектуры................................

12

1.1.3 Достоинства и недостатки Гарвардской архитектуры ...................................

13

1.2ОРГАНИЗАЦИЯ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ. ЭЛЕМЕНТЫ ВЫЧИСЛИТЕЛЬНОГО ЯДРА И

 

СИСТЕМЫ ВВОДА-ВЫВОДА ..............................................................................................

15

 

1.2.1

Процессор и память...........................................................................................

16

 

1.2.2

Контроллер ввода-вывода.................................................................................

19

 

1.2.3

Процессор ввода-вывода...................................................................................

20

 

1.2.4

Интерфейс и протокол.......................................................................................

21

 

1.2.5

Порт ввода-вывода.............................................................................................

23

1.3

ПРИНЦИПЫ ОРГАНИЗАЦИИ СИСТЕМ ВВОДА-ВЫВОДА .....................................................

28

 

1.3.1 Организация СВВ универсальных ЭВМ.........................................................

29

 

1.3.2 Организация СВВ управляющих ЭВМ............................................................

30

2 СПОСОБЫ ОБМЕНА ИНФОРМАЦИЕЙ МЕЖДУ УСТРОЙСТВАМИ

 

ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ ..............................................................................................

50

2.1

СИНХРОННЫЙ ОБМЕН ДАННЫМИ....................................................................................

50

2.2

АСИНХРОННЫЙ ОБМЕН ДАННЫМИ С ПРОГРАММНОЙ ПРОВЕРКОЙ ГОТОВНОСТИ............

51

2.3

АСИНХРОННЫЙ ОБМЕН ДАННЫМИ С АППАРАТНОЙ ПРОВЕРКОЙ ГОТОВНОСТИ...............

53

 

2.3.1

Система прерываний .........................................................................................

53

 

2.3.2

Классификация прерываний.............................................................................

54

 

2.3.3 Функции системы прерываний и их реализация............................................

56

 

2.3.4

Аппаратный полинг...........................................................................................

59

 

2.3.5

Характеристики систем прерываний...............................................................

60

 

2.3.6

Контроллер прерываний 8259A........................................................................

61

2.4

ОРГАНИЗАЦИЯ ОБМЕНА В РЕЖИМЕ ПРЯМОГО ДОСТУПА..................................................

62

 

2.4.1 Общие принципы организации ПДП...............................................................

63

 

2.4.2

DMA-контроллеры персонального компьютера.............................................

65

3 АППАРАТНЫЕ ИНТЕРФЕЙСЫ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ.....................................

68

3.1

ХАРАКТЕРИСТИКИ АППАРАТНЫХ ИНТЕРФЕЙСОВ ............................................................

68

3.2

ФУНКЦИИ АППАРАТНЫХ ИНТЕРФЕЙСОВ..........................................................................

74

3.3

КЛАССИФИКАЦИЯ АППАРАТНЫХ ИНТЕРФЕЙСОВ.............................................................

78

3.4

ПОНЯТИЕ ИНТЕРФЕЙСНЫХ СИСТЕМ................................................................................

80

3.5

РЕАЛИЗАЦИЯ АППАРАТНЫХ ИНТЕРФЕЙСОВ: ПРОБЛЕМЫ И ТЕХНИЧЕСКИЕ РЕШЕНИЯ......

80

3

 

3.5.1

Электромагнитные помехи ...............................................................................

80

 

3.5.2

Характеристики линии связи............................................................................

82

 

3.5.3

Виды линий связи..............................................................................................

85

 

3.5.4

Сбалансированная схема...................................................................................

86

 

3.5.5

Симметричная и несимметричная схема передачи сигналов........................

88

 

3.5.6

Виды кодирования.............................................................................................

92

 

3.5.7

Приемопередатчик последовательного интерфейса.......................................

97

 

3.5.8

Особенности параллельных интерфейсов.....................................................

101

 

3.5.9

Мультиплексирование, конвейеризация, блочная передача ........................

102

 

3.5.10

Устройства гальванической изоляции в аппаратных интерфейсах.............

103

 

3.5.11 Горячее подключение и автоконфигурирование...........................................

111

3.6

ВНУТРИСИСТЕМНЫЙ ИНТЕРФЕЙСAMBA.....................................................................

113

 

3.6.1

Внутрисистемный интерфейсAMBA AHB ..................................................

117

 

3.6.2

Системный интерфейсAMBA ASB................................................................

124

 

3.6.3

Периферийный интерфейсAMBA APB.........................................................

127

3.7

СИСТЕМНЫЕ ИНТЕРФЕЙСЫ ...........................................................................................

131

 

3.7.1

Интерфейс PCI .................................................................................................

131

 

3.7.2

Интерфейс PCI Express....................................................................................

142

3.8

СТАНДАРТНЫЕ ПЕРИФЕРИЙНЫЕ ИНТЕРФЕЙСЫ .............................................................

144

 

3.8.1

Интерфейс SCSI ...............................................................................................

144

 

3.8.2

Интерфейс SAS ................................................................................................

148

 

3.8.3

Сравнение SAS и параллельного SCSI ..........................................................

149

 

3.8.4

Сравнение SAS и SATA...................................................................................

149

3.9

МАЛЫЕ ПЕРИФЕРИЙНЫЕ ИНТЕРФЕЙСЫ.........................................................................

150

 

3.9.1

Интерфейс RS-232 ...........................................................................................

150

 

3.9.2

Интерфейс SPI..................................................................................................

161

 

3.9.3

Интерфейс Centronics ......................................................................................

167

 

3.9.4

Интерфейс SATA..............................................................................................

172

3.10

КОНТРОЛЛЕРНЫЕ СЕТИ..................................................................................................

175

 

3.10.1 Интерфейс RS-485 ...........................................................................................

175

 

3.10.2 Интерфейс 1-Wire ............................................................................................

180

 

3.10.3 Интерфейс I2C ..................................................................................................

182

 

3.10.4 Интерфейс USB................................................................................................

194

3.11

СЕТИ ПЕРЕДАЧИ ДАННЫХ СИСТЕМ ОБРАБОТКИ ДАННЫХ. БЕСПРОВОДНЫЕ СЕНСОРНЫЕ

 

СЕТИ ..............................................................................................................................

 

198

 

3.11.1 Сети передачи данных.....................................................................................

198

 

3.11.2 Беспроводные сенсорные сети.......................................................................

198

4

ПРИЛОЖЕНИЕ А. СИСТЕМА ВВОДА-ВЫВОДА УЧЕБНОГО ЛАБОРАТОРНОГО СТЕНДА

 

 

SDK-1.1..................................................................................................................

203

А.1

НАЗНАЧЕНИЕ СТЕНДА....................................................................................................

203

А.2

СОСТАВ СТЕНДА............................................................................................................

203

А.3

ВЫЧИСЛИТЕЛЬНОЕ ЯДРО И СИСТЕМА ВВОДА-ВЫВОДА .................................................

204

 

А.3.1

МикроконтроллерADuC812 ...........................................................................

205

 

А.3.2

Внешняя память программ и данных.............................................................

206

 

А.3.3

Порты ввода-вывода........................................................................................

207

 

А.3.4

Расширитель портов ввода-вывода................................................................

209

 

А.3.5

Периферийные устройства, подключенные к расширителю портов ввода-

 

 

вывода...............................................................................................................

209

 

А.3.6

Аналоговый ввод-вывод..................................................................................

212

 

А.3.7

I2C-устройства..................................................................................................

213

 

А.3.8

Последовательные и параллельные интерфейсы..........................................

214

ПРИЛОЖЕНИЕ Б. КОМПЛЕКС ЛАБОРАТОРНЫХ РАБОТ ДЛЯ УЧЕБНОГО

 

 

 

ЛАБОРАТОРНОГО СТЕНДА SDK-1.1 ...........................................................

216

Б.1

ЛАБОРАТОРНАЯ РАБОТА №1 «ДИСКРЕТНЫЕ ПОРТЫ ВВОДА-ВЫВОДА» ........................

216

 

Б.1.1

Задание..............................................................................................................

216

 

Б.1.2

Порты ввода-вывода........................................................................................

216

 

Б.1.3

Описание работы .............................................................................................

217

 

Б.1.4

Требования к выполнению работы.................................................................

218

 

Б.1.5

Содержание отчета ..........................................................................................

219

 

Б.1.6

Литература........................................................................................................

219

 

Б.1.7

Варианты заданий............................................................................................

219

Б.2

ЛАБОРАТОРНАЯ РАБОТА №2 «ТАЙМЕРЫ. СИСТЕМА ПРЕРЫВАНИЙ» ............................

223

 

Б.2.1

Задание..............................................................................................................

223

 

Б.2.2

Таймеры-счетчики...........................................................................................

223

 

Б.2.3

Описание работы .............................................................................................

224

 

Б.2.4

Особенности обработки прерываний в стенде SDK-1.1 ..............................

226

 

Б.2.5

Требования к выполнению работы.................................................................

230

 

Б.2.6

Содержание отчета ..........................................................................................

230

 

Б.2.7

Литература........................................................................................................

230

 

Б.2.8

Варианты заданий............................................................................................

230

Б.3

ЛАБОРАТОРНАЯ РАБОТА №3 «ПОСЛЕДОВАТЕЛЬНЫЙ ИНТЕРФЕЙС RS-232. UART» ....

233

 

Б.3.1

Задание..............................................................................................................

233

 

Б.3.2

Особенности последовательного интерфейса в микроконтроллере с ядром

 

 

MCS-51..............................................................................................................

233

5

 

Б.3.3

Организация буферизированного последовательного ввода-вывода в стенде

 

 

SDK-1.1 .............................................................................................................

234

 

Б.3.4

Организация программы.................................................................................

235

 

Б.3.5

Организация обработчика прерывания UART ..............................................

236

 

Б.3.6

Описание работы .............................................................................................

237

 

Б.3.7

Требования к выполнению работы.................................................................

238

 

Б.3.8

Содержание отчета ..........................................................................................

238

 

Б.3.9

Литература........................................................................................................

239

 

Б.3.10 Варианты заданий............................................................................................

239

Б.4

ЛАБОРАТОРНАЯ РАБОТА №4 «КЛАВИАТУРА»................................................................

243

 

Б.4.1

Задание..............................................................................................................

243

 

Б.4.2

Матричная клавиатура.....................................................................................

243

 

Б.4.3

Описание работы .............................................................................................

248

 

Б.4.4

Требования к выполнению работы.................................................................

251

 

Б.4.5

Содержание отчета ..........................................................................................

251

 

Б.4.6

Литература........................................................................................................

252

 

Б.4.7

Варианты заданий............................................................................................

252

Б.5

ЛАБОРАТОРНАЯ РАБОТА №5 «ЖИДКОКРИСТАЛЛИЧЕСКИЙ ИНДИКАТОР».....................

254

 

Б.5.1

Задание..............................................................................................................

254

 

Б.5.2

Описание работы .............................................................................................

254

 

Б.5.3

Требования к выполнению работы.................................................................

258

 

Б.5.4

Содержание отчета ..........................................................................................

258

 

Б.5.5

Литература........................................................................................................

258

 

Б.5.6

Варианты заданий............................................................................................

258

Б.6

ЛАБОРАТОРНАЯ РАБОТА №6 «ПОСЛЕДОВАТЕЛЬНЫЙ ИНТЕРФЕЙС I2C»........................

262

 

Б.6.1

Задание..............................................................................................................

262

 

Б.6.2

Описание работы .............................................................................................

262

 

Б.6.3

Требования к выполнению работы.................................................................

267

 

Б.6.4

Содержание отчета ..........................................................................................

267

 

Б.6.5

Литература........................................................................................................

268

 

Б.6.6

Варианты заданий............................................................................................

268

ПРИЛОЖЕНИЕ В. ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА ПРОГРАММЫ..............................

275

ПРИЛОЖЕНИЕ Г. ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ ПРОГРАММ НА ЯЗЫКЕ СИ..........

278

Г.1

СОГЛАШЕНИЯ ПО ИДЕНТИФИКАТОРАМ .........................................................................

278

 

Г.1.1

Подбор идентификаторов................................................................................

278

 

Г.1.2

Написание идентификаторов..........................................................................

278

Г.2

СОГЛАШЕНИЯ ПО САМОДОКУМЕНТИРУЕМОСТИ ПРОГРАММ.........................................

279

6

Г.2.1

Комментарии....................................................................................................

279

Г.2.2

Спецификация функций..................................................................................

279

Г.2.3 Спецификация программного файла или модуля.........................................

280

Г.3 СОГЛАШЕНИЯ ПО ЧИТАЕМОСТИ ПРОГРАММ..................................................................

281

Г.3.1

Лесенка .............................................................................................................

281

Г.3.2 Длина строк программного текста.................................................................

282

Г.3.3

Прочие рекомендации......................................................................................

282

ЛИТЕРАТУРА.............................................................................................................................................

 

284

КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ....................................................................................

290

7

Введение

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

На первом этапе компьютеры разрабатывались и изготавливались на своей собственной элементной базе, их устройства (процессор, ОЗУ, устройства управления и т.п.) имели архитектуру и структуру, присущую только данному компьютеру или одному семейству, связь между устройствами и узлами осуществлялась с помощью интерфейсов, используемых только этим типом вычислительной машины. Стандарты применялись, но в основном касались ПУ, а не внутренних устройств. Поэтому машины разных фирм были не совместимы по элементной базе, устройствам и конструктивам. Это относилось как к большим, так и к малым вычислительным машинам. Это машины типа БЭСМ-1 (2,6), «Урал», «Наири», IBM 360 (370) , ЕС ЭВМ-1033 (1040, 1060), DEC PDP-11, СМ-1 (2,3,4) и т.д. Каждый тип компьютера был в определенной степени уникален.

На втором этапе изменился принцип построения вычислительной техники. Она стала основываться на правиле трех «М»: модульность, микропрограммируемость и магистральность. Модуль представляет собой функционально полное и конструктивно законченное устройство, серийно выпускаемое и программно (микропрограммно) управляемое (настраиваемое). Вычислительные системы собираются на основе этих модулей с помощью каналов связи – универсальных или специализированных интерфейсов.

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

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

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

8

программирования подсистем ввода-вывода микропроцессорных систем различного назначения на примере программирования учебного лабораторного стенда SDK-1.1.

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

9

Соседние файлы в предмете Интерфейсы Периферийных Устройств