- •Оглавление
- •Организация системы ввода-вывода вычислительной системы ...... 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 Назначение стенда Учебный стенд представляет собой микропроцессорный контроллер, построенный на базе однокристальной микроЭВМ ADuC812 [3] (SDK-1.1/S на ADuC842) и имеющий в своем составе разнообразные устройства, типичные для современных встроенных систем и предназначенные для ввода, обработки и вывода информации в цифровом и аналоговом виде. SDK-1.1 можно применять в качестве аппаратной базы для обучения основам современной микропроцессорной техники и программируемой логики в университетах, колледжах, физико-математических школах и на предприятиях [88].
Необходимость в подобных стендах возникает из-за того, что современные персональные компьютеры, к сожалению, достаточно плохо позволяют демонстрировать студентам все тонкости организации вычислительного процесса. Во-первых, вся «начинка» современного компьютера скрыта от пользователя операционной системой. Во-вторых, аппаратная база компьютеров часто меняется, что сильно затрудняет поддержку учебных материалов в актуальном состоянии. В-третьих, аппаратура современных компьютеров общего назначения весьма сложна и на подробное еѐ изучение может просто не хватить времени, отведенного на курс учебной программой.
А.2 Состав стенда
В состав учебного стенда SDK-1.1 входят:
Микроконтроллер ADuC812 (Analog Devices), 8 Кб FLASH, 256 байт ОЗУ, 640 байт E2PROM.
Внешнее ОЗУ 128 Кб (с возможностью расширения до 512 Кб), подключение к МК ADuC812 по системной шине; используется для хранения пользовательских программ и данных.
Расширитель портов ввода–вывода – ПЛИС MAX3064 (Altera), подключение к МК ADuC812 по системной шине.
Внешняя память E2PROM 256 байт, подключение к МК ADuC812 по интерфейсу I2C.
Часы реального времени – PCF8583 (Philips), подключение по интерфейсу I2C.
Консоль оператора (подключение через ПЛИС к МК ADuC812): Символьный жидкокристаллический индикатор (ЖКИ) WH1602B-
YGK-CP (Winstar Display), 16 * 2.
Матричная клавиатура, 4 * 4.
Звуковой излучатель – 1 шт.
Управляемые светодиоды – 8 шт.
Ручные переключатели тестовых сигналов для аналоговых и дискретных портов ввода: коммутатор аналоговых каналов (подключен напрямую к МК ADuC812) и стимулятор дискретных портов.
А.3 Вычислительное ядро и система ввода-вывода
Вычислительное ядро – это оборудование и программные средства, которые непосредственно участвуют в решении заданной задачи (выполняют вычислительную работу). Таким образом, к вычислительному ядру контроллера SDK-1.1 относятся такие элементы, как процессор семейства MCS-51, внутреннее ОЗУ данных и FLASH-память программ (в ней располагаются резидентный загрузчик и системная таблица векторов прерываний) микроконтроллера ADuC812, внешняя память программ и данных SRAM, предназначенная для размещения пользовательских программ и данных.
Система ввода-вывода содержит элементы вычислительной системы, обеспечивающие общение вычислительного ядра с внешней средой. Таким образом, к системе ввода-вывода контроллера SDK-1.1 относятся все контроллеры ввода-вывода и периферийные устройства, находящиеся в микроконтроллере ADuC812: порты ввода-вывода, таймеры/счетчики, универсальный асинхронный приемопередатчик (UART), контроллеры интерфейсов I2C и SPI, АЦП, ЦАП и др. Доступ ко всей периферии в микроконтроллере осуществляется через регистры специального назначения (SFR). Также к системе ввода-вывода стенда относится расширитель портов ввода-вывода, выполненный на базе ПЛИС, и все подключенные к нему периферийные устройства: ЖКИ, матричная клавиатура, линейка светодиодов, звуковой излучатель, дискретные порты ввода-вывода. Необходимо отметить, что расширитель портов ввода-вывода разделяет единое внешнее пространство данных с внешним ОЗУ.
Данное разделение компонентов стенда SDK-1.1 по принципу принадлежности вычислительному ядру или системе ввода-вывода выполнено на логическом уровне. В следующих подразделах приведена более подробная информация о компонентах стенда, при этом «выделение» компонентов выполнено на физическом уровне, т.е. на основе принципиальной электрической схемы.
А.3.1 Микроконтроллер ADuC812
Микроконтроллер ADuC812 является клоном Intel 8051 (8052) со встроенной периферией, а значит, является представителем Гарвардской архитектуры.
Основные характеристики: 1. Рабочая частота 11,0592МГц.
8 Кб FLASH-памяти (10000-50000 циклов «стирание-запись-чтение») для хранения программ. В стенде SDK-1.1 в этой памяти располагаются резидентный загрузчик и системная таблица векторов прерываний.
256 байт ОЗУ данных.
640 байт программируемого E2PROM со страничной организацией (160 страниц по 4 байта, 10000-50000 циклов доступа к памяти/стираниезапись-чтение) для хранения данных (например, различных настроек).
Адресное пространство памяти программ 64 Кб.
Адресное пространство внешней памяти данных 16 Мб.
Четыре 8-разрядных порта ввода-вывода (три двунаправленных, один порт ввода).
Три 16-битных таймера/счетчика и один таймер WatchDog.
8-канальный 12-битный АЦП, который может работать в режиме (максимальная частота выборки-дискретизации 200 кГц).
2-канальный 12-битный ЦАП.
Внутренний термодатчик.
Режим управления питанием.
Универсальный асинхронный приемопередатчик (UART).
Интерфейс I2C (используется в стенде SDK-1.1), интерфейс SPI (не используется в стенде SDK-1.1).
Рис. 117. Микроконтроллер ADuC812 на принципиальной электрической схеме стенда SDK-1.1.
А.3.2 Внешняя память программ и данных Внешняя память программ и данных стенда SDK-1.1 – статическое ОЗУ (SRAM), имеющее страничную организацию и предназначенное для размещения пользовательских программ и данных. Размер страницы 64 Кб. Первая страница (страница 0) доступна для выборки и команд, и данных микроконтроллером ADuC812. Остальные страницы доступны только для размещения данных (логическое адресное пространство внешней памяти данных составляет 16 Мб). Однако реально для пользовательских программ доступно не 64 Кб, а 52 Кб, так как в младшие адреса отображается 8 Кб FLASH-памяти ADuC812 (адреса 0000h-1FFFh). Кроме того, 4 Кб зарезервировано резидентным загрузчиком МК (адреса F000h-FFFFh).
Если в пользовательской программе используются прерывания, то ее рекомендуется загружать с адреса 2100h, так как в пространстве адресов 2000h2100h располагается пользовательская таблица векторов прерывания.
Физическое адресное пространство внешней памяти данных в стенде SDK-1.1 ограничено 512 Кб (т.е. не может быть 16 Мб), потому что, начиная с 8 страницы, располагается адресное пространство ПЛИС (MAX 3064).
Внешняя память программ и данных подключается к МК ADuC812 по системной шине (как и ПЛИС).
Рис. 118. Подключение внешней памяти программ и данных к МК ADuC812.
А.3.3 Порты ввода-вывода
Порт можно определить как точку, через которую осуществляется взаимодействие с каким-либо блоком в системе ввода-вывода, многоразрядный вход или выход устройства. Порт ввода-вывода – это логическая адресуемая единица системы ввода-вывода, которая характеризуется, в первую очередь, следующими тремя признаками:
Адресом.
Форматом данных, пересылаемых через него (под форматом данных подразумевается как их разрядность, так и положение значащих разрядов).
Набором допустимых с ним операций (чтение, запись или и то, и другое).
В стенде SDK-1.1 ввод-вывод данных осуществляется с помощью портов микроконтроллера и микросхемы ПЛИС (расширитель портов ввода-вывода).
Порты P0, P1, P2, P3 микроконтроллера ADuC812 являются квазидвунаправленными портами ввода-вывода и предназначены для обеспечения обмена информацией микроконтроллера с внешними устройствами, образуя 32 линии ввода-вывода. Каждый из портов содержит восьмиразрядный регистр, имеющий байтовую и битовую адресацию для установки (запись «1») или сброса (запись «0») разрядов этого регистра с помощью программного обеспечения. Выходы этих регистров соединены с внешними ножками микросхемы.
Кроме работы в качестве обычных портов ввода-вывода внешние выводы портов Р0-Р3 могут выполнять ряд дополнительных (альтернативных) функций.
Порт P0 может быть использован для организации шины адреса/данных при работе микроконтроллера с внешней памятью данных или программ (см. принципиальную схему стенда SDK-1.1), при этом через него выводится младший байт адреса (A0-A7), выдается из микроконтроллера или принимается в микроконтроллер байт данных.
Порт P1 – аналоговые входы.
Порт P2 может быть использован для организации шины адреса при работе микроконтроллера с внешней памятью данных или программ, при этом через него выводится старший байт адреса (A8–A15) для доступа к памяти программ; средний и старший байт адреса (A8 – A15, A16 – A23) для доступа к памяти данных.
Каждая линия порта Р3 имеет индивидуальную альтернативную функцию, которая может быть задействована простым обращением к устройству, соединенному с ножкой порта:
Р3.0 RxD – вход последовательного порта (UART);
Р3.1 TxD – выход последовательного порта (UART);
Р3.2 INT0 используется как вход 0 внешнего запроса прерываний;
Р3.3 INT1 используется как вход 1 внешнего запроса прерываний;
Р3.4 Т0 используется как вход счетчика внешних событий 0;
Р3.5 Т1 используется как вход счетчика внешних событий 1; Р3.6 WR – строб записи во внешнюю память данных; Р3.7 RD – строб чтения из внешней памяти данных.
ПЛИС имеет 8 регистров, отображаемых во внешнее адресное пространство данных процессора. К ПЛИС в SDK-1.1 подключены:
Клавиатура.
ЖКИ.
Линейка светодиодов.
Звуковой излучатель.
16 дискретных портов ввода-вывода.
Таблица 12. Перечень регистров расширителя портов ввода-вывода.
Адрес |
Регистр |
Доступ |
Назначение |
080000H |
KB |
R/W |
Регистр клавиатуры |
080001H |
DATA_IND |
R/W |
Регистр шины данных ЖКИ |
080002H |
EXT_LO |
R/W |
Регистр данных параллельного порта (разряды 0-7) |
080003H |
EXT_HI |
R/W |
Регистр данных параллельного порта (разряды 8-15) |
080004H |
ENA |
W |
Регистр управления портами ввода-вывода, звуком, сигналом INT0 и прерыванием от клавиатуры |
080006H |
C_IND |
W |
Регистр управления ЖКИ |
080007H |
SV |
W |
Регистр управления светодиодами |
А
.3.4
Расширитель портов ввода-вывода
В SDK-1.1 используется программируемая логическая интегральная схема (ПЛИС) семейства MAX3000A фирмы Altera (EPM3064A) как расширитель портов ввода-вывода.
К ПЛИС подключены:
Клавиатура.
ЖКИ.
Линейка светодиодов.
Звуковой излучатель.
16 дискретных портов вводавывода.
Для программиста расширитель портов представлен в виде нескольких однобайтовых регистров, находящихся
в начале восьмой страницы внешней памяти данных.
Далее будет представлен обзор периферийных устройств, подключенных к расширителю портов ввода-вывода, их обозначение на принципиальной электрической схеме стенда SDK-1.1.
А.3.5 Периферийные устройства, подключенные к расширителю портов ввода-вывода
