- •Оглавление
- •Организация системы ввода-вывода вычислительной системы ...... 10
- •Способы обмена информацией между устройствами
- •Аппаратные интерфейсы вычислительных систем ..................................... 68
- •Интерфейс rs-485 ........................................................................................... 175
- •Введение
- •Организация системы ввода-вывода вычислительной системы
- •Основы архитектурной организации вычислительной системы
- •1.1.2 Достоинства и недостатки Принстонской архитектуры
- •1.1.1 Принципы Фон-Неймановской архитектуры
- •1.1.3 Достоинства и недостатки Гарвардской архитектуры
- •Организация вычислительной системы. Элементы вычислительного ядра и системы ввода-вывода
- •1.2.1 Процессор и память
- •1.2.2 Контроллер ввода-вывода
- •1.2.3 Процессор ввода-вывода
- •1.2.4 Интерфейс и протокол
- •1.2.5 Порт ввода-вывода
- •1.2.5.1 Адресное пространство портов ввода-вывода: единое с оперативной памятью и раздельное
- •1.2.5.2 Организация конфигурируемых параллельных портов вводавывода
- •Принципы организации систем ввода-вывода
- •1.3.1 Организация свв универсальных эвм
- •1.3.2.1 Порты ввода-вывода
- •1.3.2.2 Дискретные порты ввода-вывода
- •1.3.2.3 Однонаправленные порты
- •1.3.2.4 Двунаправленные порты и порты с альтернативной функцией
- •1.3.2.7 Устройства сопряжения с объектом (усо) управляющих эвм
- •Способы обмена информацией между устройствами вычислительной системы
- •Программно управляемые:
- •В режиме прямого доступа (без участия центральных процессоров).
- •Синхронный обмен данными
- •Асинхронный обмен данными с программной проверкой готовности
- •Асинхронный обмен данными с аппаратной проверкой готовности
- •2.3.1 Система прерываний
- •2.3.4 Аппаратный полинг
- •2.3.5 Характеристики систем прерываний
- •2.3.6 Контроллер прерываний 8259a
- •Организация обмена в режиме прямого доступа
- •2.4.1 Общие принципы организации пдп
- •Аппаратные интерфейсы вычислительных систем
- •Характеристики аппаратных интерфейсов
- •Функции аппаратных интерфейсов
- •Классификация аппаратных интерфейсов
- •Системные интерфейсы.
- •Стандартные периферийные интерфейсы.
- •Малые периферийные интерфейсы.
- •Понятие интерфейсных систем
- •Реализация аппаратных интерфейсов: проблемы и технические решения
- •3.5.1 Электромагнитные помехи
- •3.5.2 Характеристики линии связи
- •3.5.3.1 Коаксиальный кабель
- •3.5.3.2 Витая пара
- •3.5.3.3 Плоский кабель
- •3.5.3.4 Полосковые линии связи
- •3.5.5 Симметричная и несимметричная схема передачи сигналов
- •3.5.5.1 Дифференциальный сигнал
- •3.5.5.3 Симметричная передача сигнала
- •3.5.6.1 Потенциальный код без возвращения к нулю
- •3.5.6.2 Метод биполярного кодирования с альтернативной инверсией
- •3.5.6.3 Потенциальный код с инверсией при единице
- •3.5.6.4 Биполярный импульсный код
- •3.5.6.5 Манчестерский код
- •3.5.6.6 Потенциальный код 2b1q
- •3.5.7 Приемопередатчик последовательного интерфейса
- •3.5.8 Особенности параллельных интерфейсов
- •3.5.9 Мультиплексирование, конвейеризация, блочная передача
- •3.5.10.2 Реализация гальванической изоляции дискретного выхода модуля ввода-вывода sdx-09
- •3.5.10.3 Реализация гальванической изоляции дискретного входа модуля ввода-вывода sdx-09
- •3.5.10.4 Реализация гальванической изоляции rs-232 в контроллере sdk-1.1
- •3.5.10.5 Технология iCoupler фирмы Analog Devices
- •3.5.11 Горячее подключение и автоконфигурирование
- •3.5.11.1 Горячее подключение
- •3.6 Внутрисистемный интерфейс amba
- •3.6.3 Периферийный интерфейс amba apb
- •Idle – устройство не готово, шина находится в исходном состоянии.
- •3.7 Системные интерфейсы
- •3.7.1 Интерфейс pci
- •3.7.2 Интерфейс pci Express
- •3.8 Стандартные периферийные интерфейсы
- •3.8.1 Интерфейс scsi
- •3.8.1.8 Команды scsi
- •3.8.3 Сравнение sas и параллельного scsi
- •3.8.4 Сравнение sas и sata
- •3.9 Малые периферийные интерфейсы
- •3.9.1 Интерфейс rs-232
- •3.9.1.1 Сигнальные линии последовательного интерфейса
- •3.9.1.2 Управление потоком
- •3.9.1.3 Разъемы и кабели
- •3.9.1.4 Формат последовательной передачи данных
- •3.9.1.5 Работа с последовательным каналом
- •3.9.2.1 Типы подключения к шине spi
- •3.9.2.2 Режимы работы шины spi
- •3.9.2.3 Достоинства шины spi
- •3.9.2.4 Недостатки шины spi 1. Больше линий, чем в i2c.
- •3.9.3 Интерфейс Centronics
- •3.9.4.1 Физический интерфейс Serial ata
- •3.10 Контроллерные сети
- •3.10.1 Интерфейс rs-485
- •3.10.1.1 Согласование и конфигурация линии связи
- •3.10.1.2 Защитное смещение
- •(Верхняя диаграмма), передача данных (средняя диаграмма), приѐм данных от устройства (нижняя диаграмма).
- •3.10.3 Интерфейс i2c
- •3.10.3.1 Концепция шины i2c
- •3.10.3.2 Реализация монтажного и и монтажного или
- •3.10.3.3 Принцип работы шины i2c
- •3.10.3.5 Подтверждение
- •3.10.3.6 Синхронизация
- •3.10.3.7 Форматы обмена данными по шине i2c (7-битный адрес)
- •3.10.3.8 Арбитраж
- •3.10.3.9 Достоинства шины i2c
- •3.10.4.1 Модель передачи данных
- •3.10.4.2 Протокол
- •3.11 Сети передачи данных систем обработки данных. Беспроводные сенсорные сети
- •3.11.1 Сети передачи данных
- •3.11.2 Беспроводные сенсорные сети
- •Приложение а. Система ввода-вывода учебного лабораторного стенда sdk-1.1
- •А.2 Состав стенда
- •А.3 Вычислительное ядро и система ввода-вывода
- •А.3.5.1 Матричная клавиатура
- •А.3.5.2 Жидкокристаллический индикатор
- •А .3.5.3 Светодиодные индикаторы
- •А.3.5.4 Звукоизлучатель
- •А.3.5.5 Дискретные входы-выходы
- •Приложение б. Комплекс лабораторных работ для учебного лабораторного стенда sdk-1.1 б.1 Лабораторная работа № 1 «Дискретные порты ввода-вывода»
- •Б.2 Лабораторная работа № 2 «Таймеры. Система прерываний»
- •Б.2.3.2 Пояснения для вариантов заданий с использованием звукового излучателя
- •(Слева) на принципиальной электрической схеме контроллера sdk-1.1
- •Б.3 Лабораторная работа № 3 «Последовательный интерфейс rs-232. Uart»
- •Б.4 Лабораторная работа № 4 «Клавиатура»
- •Б.5 Лабораторная работа № 5 «Жидкокристаллический индикатор»
- •Б.6 Лабораторная работа № 6 «Последовательный интерфейс i2c»
- •Приложение в. Проектирование и разработка программы
- •Приложение г. Требования к оформлению программ на языке Си г.1 Соглашения по идентификаторам
- •Г.2 Соглашения по самодокументируемости программ
- •Г.3 Соглашения по читаемости программ
- •Литература
Приложение б. Комплекс лабораторных работ для учебного лабораторного стенда sdk-1.1 б.1 Лабораторная работа № 1 «Дискретные порты ввода-вывода»
Б.1.1 Задание
Разработать и реализовать драйверы светодиодных индикаторов и DIPпереключателей контроллера SDK-1.1. Написать тестовую программу с использованием разработанных драйверов по алгоритму, соответствующему варианту задания.
Б.1.2 Порты ввода-вывода
Каждый процессор для встраиваемых применений имеет некоторое количество внешних линий ввода-вывода, подключенных к внешним выводам микросхемы и называемых внешними портами. Одиночные (одноразрядные, состоящие из одной линии) порты ввода-вывода объединяются в группы обычно по 4, 8 или 16 линий, которые называются параллельными портами. Через порты процессорное ядро взаимодействует с различными внешними устройствами: считывает значения входных сигналов и устанавливает значения выходных сигналов. Во встраиваемых системах в качестве внешних устройств чаще всего рассматриваются датчики, исполнительные устройства, устройства ввода-вывода данных оператором, устройства внешней памяти.
По типу сигнала различают порты: дискретные (цифровые), аналоговые и перестраиваемые.
Дискретные (цифровые) порты используются для ввода-вывода дискретных значений логического «0» или «1». В большинстве современных процессоров для встраиваемых применений поддерживается как независимое управление каждой линией параллельного порта, так и групповое управление всеми разрядами.
Аналоговый порт ввода-вывода предназначен для работы с аналоговым (непрерывным) сигналом. В отличие от дискретного сигнала, принимающего всего два значения, напряжение аналогового сигнала может иметь любое значение (в определенных пределах) и меняться во времени. Пример аналогового сигнала – синусоида. Такую форму, например, имеет электрическое напряжение в сети 220 В 50 Гц.
Перестраиваемые порты ввода-вывода настраиваются на аналоговый или цифровой режим работы.
Б.1.3 Описание работы В контроллере SDK-1.1 изучение дискретных портов ввода-вывода будет проводиться на примере работы с набором светодиодных индикаторов и DIP1переключателей (см. рис. 125). Данные устройства вывода и ввода, соответственно, подключены к расширителю портов ввода-вывода, который в стенде SDK-1.1 выполнен на базе ПЛИС (программируемая логическая интегральная схема). Для программиста расширитель портов представлен в виде нескольких однобайтовых регистров, находящихся в начале восьмой страницы внешней памяти данных.
По умолчанию линии 0-7 дискретного параллельного порта ПЛИС притянуты к логической «1» (через резисторы на +5В). Для их принудительного «обнуления» в схему введен набор DIP-переключателей (на рис. 126 обозначение «SW3-2»), замыкающих соответствующие линии через резисторы 100 Ом на корпус. Для того чтобы принудительно «обнулить» соответствующую линию, необходимо установить соответствующий DIPпереключатель в положение «ON».
Рис. 125. Расположение программируемых в лабораторной работе светодиодных индикаторов и DIPпереключателей контроллера SDK-1.1
Для удобства, двоичный (шестнадцатеричный) код, задаваемый набором
DIP-переключателей, выставляется следующим образом: первый переключатель соответствует младшему (0-му) разряду двоичного кода; восьмой переключатель соответствует старшему (7-му) разряду. При этом единичный разряд в коде – это соответствующий DIP-переключатель в положении «ON», нулевой разряд – это соответствующий DIP-переключатель в положении «OFF».
б)
а
)
Рис. 126. Обозначение DIP-переключателей (а) и светодиодных индикаторов (б) на принципиальной электрической схеме контроллера SDK-1.1
П
ри
установке DIP-переключателя в положение
«ON» напряжение не сразу устанавливается
на уровне 0В, а «скачет» в течение
некоторого времени (1-10 мс), пока цепь
надежно не замкнется. После того, как
DIP-переключатель будет установлен в
положение «OFF», напряжение также «скачет»,
пока не установится на уровне +5В. Такого
рода переходные процессы называются
дребезгом. Таким образом, при изменении
положения DIP-переключателя («ON» «OFF»)
возникает эффект дребезга, отрицательное
влияние которого в данной работе никак
не устраняется.
Подробнее эта проблема будет исследоваться в лабораторной работе № 4 «Клавиатура».
Б.1.4 Требования к выполнению работы
Все программы должны быть написаны на языке Си.
Разрабатываемые драйверы устройств должны быть выполнены в виде отдельных программных модулей (файлов), содержащих функции по работе с заданным одним устройством. Например, в этой лабораторной работе драйвер светодиодных индикаторов должен содержать функцию установки состояния светодиодов, а драйвер DIP-переключателей – функцию чтения их состояния. В главном программном модуле должна решаться предлагаемая вариантом задания прикладная задача с использованием разработанных драйверов.
В тестовой программе для осуществления анимации запрещается использовать «покадровое» формирование картинки. Для реализации алгоритма анимации должны быть использованы логические, арифметические и бинарные операции, а также операции сдвигов.
Для задержек в программе следует использовать пустые циклы (тысячи – десятки тысяч итераций, в зависимости от длительности задержки).
В варианте задания представлен лишь фрагмент анимации, при этом все анимации являются циклическими. По приведенному фрагменту требуется определить алгоритм анимации и реализовать его.
Текст программы должен соответствовать правилам оформления программ на языке Си, приведенным в приложении (Приложение Г. Требования к оформлению программ на языке Си, [95]).
Б.1.5 Содержание отчета
Титульный лист.
Задание.
Блок-схема программы.
Исходный текст программы с комментариями.
Основные результаты.
Б.1.6 Литература
Литература к лабораторной работе: [45], [48], [49], [50], [51], [57], [75], [88], [93], [3], [8], [9], [11], [17], [22].
Б.1.7 Варианты заданий Во всех вариантах задания единичный разряд в шестнадцатеричном коде – это соответствующий DIP-переключатель в положении «ON», нулевой разряд – это соответствующий DIP-переключатель в положении «OFF».
В варианте задания представлен лишь фрагмент анимации, при этом все анимации являются циклическими. По приведенному фрагменту требуется определить алгоритм анимации и реализовать его.
В случае установки на DIP-переключателях кода 0x11 (шестнадцатеричное значение) на светодиодные индикаторы должна выводиться анимация, показанная ниже. Во всех остальных случаях светодиодные индикаторы отражают значение, выставленное на DIPпереключателях.
В случае установки на DIP-переключателях кода 0x22 (шестнадцатеричное значение) на светодиодные индикаторы должна выводиться первая анимация, в случае установки кода 0xDD (шестнадцатеричное значение) – вторая анимация. Во всех остальных случаях светодиодные индикаторы отражают инвертированное значение, выставленное на DIP-
В случае установки на DIP-переключателях кода 0x33 (шестнадцатеричное значение) на светодиодные индикаторы должна выводиться первая анимация, в случае установки кода 0xCC (шестнадцатеричное значение) – вторая анимация. Во всех остальных случаях светодиодные индикаторы отражают значение, выставленное на DIP-переключателях.
В случае установки на DIP-переключателях кода 0x44 (шестнадцатеричное значение) на светодиодные индикаторы должна выводиться анимация, показанная ниже. Во всех остальных случаях светодиодные индикаторы отражают инвертированное значение, выставленное на DIP-переключателях.
В случае установки на DIP-переключателях кода 0x55 (шестнадцатеричное значение) на светодиодные индикаторы должна выводиться анимация, показанная ниже. Во всех остальных случаях светодиодные индикаторы отражают значение, выставленное на DIPпереключателях.
В случае установки на DIP-переключателях кода 0x66 (шестнадцатеричное значение) на светодиодные индикаторы должна выводиться анимация, показанная ниже. Во всех остальных случаях светодиодные индикаторы отражают инвертированное значение, выставленное на DIP-переключателях.
В случае установки на DIP-переключателях кода 0x77 (шестнадцатеричное значение) на светодиодные индикаторы должна выводиться анимация, показанная ниже. Во всех остальных случаях светодиодные индикаторы отражают значение, выставленное на DIPпереключателях.
В случае установки на DIP-переключателях кода 0xAA (шестнадцатеричное значение) на светодиодные индикаторы должна выводиться анимация, показанная ниже. Во всех остальных случаях светодиодные индикаторы отражают инвертированное значение, выставленное на DIP-переключателях.
В случае установки на DIP-переключателях кода 0xBB (шестнадцатеричное значение) на светодиодные индикаторы должна выводиться первая анимация, в случае установки кода 0x44 (шестнадцатеричное значение) – вторая анимация. Во всех остальных случаях светодиодные индикаторы отражают значение, выставленное на DIP-переключателях.
В случае установки на DIP-переключателях кода 0xCC (шестнадцатеричное значение) на светодиодные индикаторы должна выводиться анимация, показанная ниже. Во всех остальных случаях светодиодные индикаторы отражают инвертированное значение, выставленное на DIP-переключателях.
