- •1 Введение во встраиваемые вычислительные системы
- •1.1 Определения, особенности, классификация
- •1.1.6.1 Уровень предприятия (1)
- •1.1.6.2 Уровни объекта (2) и подсистемы (3)
- •1.1.6.3 Уровень функциональных узлов (4)
- •1.1.6.4 Уровень оборудования функциональных узлов (5)
- •1.1.6.4.1 Устройства ввода-вывода
- •1.1.6.4.2 Устройство сопряжения с объектом
- •1.2 Механизмы реального времени
- •1.2.4.1 Классификация прерываний
- •1.2.4.2 Функции системы прерываний и их реализация
- •1.2.5.1 Основные характеристики pcf8583
- •1.2.5.2 Описание
- •1.2.5.3 Режимы работы часов
- •1.2.5.4 Регистры-счетчики
- •1.2.5.5 Будильник
- •1.2.5.6 Регистры сигнализации
- •1.2.5.7 Таймер
- •1.2.5.8 Режим счетчика событий
- •1.2.5.9 Вывод прерывания int
- •2 Технические средства встраиваемых систем
- •2.1 Элементная база микропроцессорной техники для
- •2.2 Модульный принцип организации процессора ввс
- •2.2.4.1 Энергонезависимая память e2prom: историческая справка
- •2.2.4.2 Основные характеристики eeprom at24Cxx
- •2.2.4.3 Описание
- •2.2.4.4 Организация памяти
- •2.2.4.5 Адресация модулей eeprom
- •2.2.4.6 Операция записи
- •2.2.4.7 Операция чтения
- •2.2.5.1 Однонаправленные порты
- •2.2.5.2 Двунаправленные порты и порты с альтернативной функцией
- •2.2.6.1 Программируемые таймеры в микроконтроллере с ядром Intel
- •2.2.6.2 Модули таймеров-счетчиков со схемами входного захвата,
- •2.2.7.1 Классификация ацп
- •2.2.9.1 Контроллер последовательного интерфейса в
- •2.2.10 Подсистема синхронизации
- •2.2.11 Механизмы начальной инициализации встроенной памяти
- •2.2.11.1 Внешнее программирование встроенного пзу
- •2.3 Сетевые интерфейсы встраиваемых систем
- •2.3.1.1 Концепция шины I²c
- •2.3.1.2 Принцип работы шины I²c
- •2.3.1.3 Сигналы старт и стоп
- •2.3.1.4 Подтверждение
- •2.3.1.5 Синхронизация
- •2.3.1.6 Форматы обмена данными по шине I²c (7-битный адрес)
- •2.3.1.7 Арбитраж
- •2.3.1.8 Достоинства шины I²c
- •2.3.2.1 Согласование и конфигурация линии связи
- •2.3.2.2 Защитное смещение
- •2.3.2.3 Исключение приема при передаче в полудуплексном режиме
- •2.3.4.1 Протоколы реального времени
- •2.3.4.2 Резервирование каналов и кольцевая топология
- •2.3.4.3 Отличия от обычного Ethernet
- •2.3.6.1 Преимущества
- •2.3.6.2 Преимущества plc по сравнению с Wi-Fi
- •2.3.6.3 Недостатки
- •2.3.9.1 Физический уровень
- •2.3.9.2 Контроллер шины
- •2.3.9.3 Оконечные устройства
- •2.3.9.4 Монитор канала
- •3 Программное обеспечение и инструментальные
- •3.1 Особенности программного обеспечения ввс
- •3.1.4.1 Особенности плк
- •3.1.4.2 Варианты построения систем на базе плк
- •3.1.4.3 Особенности программирования плк
- •3.1.4.4 Варианты реализации плк
- •3.1.4.5 Цикл плк
- •3.1.4.6 Области применения плк
- •3.1.4.7 Сравнение с микроконтроллерами
- •3.2 Языки программирования
- •3.2.8.1 Удобочитаемость
- •3.2.8.2 Лёгкость создания программ
- •3.2.8.3 Надёжность
- •3.2.10 Краткий обзор языков, используемых при проектировании
- •3.2.10.1 Язык программирования Си
- •3.2.10.3 Платформа Java
- •3.2.10.4 Платформа .Net
- •3.2.10.5 Язык программирования ada
- •3.2.10.6 Язык программирования Esterel
- •3.2.10.7 Язык программирования Lustre
- •3.3 Инструментальные средства отладки и тестирования
- •Ieee 1149.1 jtag - механизм граничного сканирования
- •3.3.3.1 Реализация jtag-инструментария
- •3.3.4.1 Цели и задачи профилировки
- •3.3.4.2 Общее время исполнения
- •3.3.4.3 Удельное время выполнения
- •3.3.4.4 Определение количества вызовов
- •3.3.4.5 Определение степени покрытия
- •3.3.5.1 Обеспечение корректности программного кода: обзор
- •3.4 Разработка программного продукта
- •3.4.2.1 Сложность проектирования и разработчики- одиночки
- •3.4.2.2 Оценка времени проектирования
- •3.4.2.3 Использование новых технологий
- •3.4.4.1 Безопасность и перемены
- •3.4.4.6 Играй в защите
- •3.4.4.7 Сбор метрических данных
- •3.4.4.8 Что дает давление сверху
- •3.4.4.9 Сердитый начальник
- •3.4.4.10 Туманные спецификации
- •3.4.4.11 Конфликт
- •3.4.4.12 Кто такой катализатор проекта
- •3.4.4.13 Человеку свойственно ошибаться
- •3.4.4.14 О персонале
- •3.4.4.15 Проблемы социологии
- •3.4.4.16 О патологической политике (еще раз)
- •3.4.4.17 Злоба и скупость
- •3.4.4.18 Основы здравого смысла
- •4 Устройство современного контроллера на примере
- •4.1 Назначение стенда
- •4.2 Состав стенда
- •4.3 Разъемы стенда и назначение выводов
- •4.4 Обзор компонентов принципиальной электрической
- •4.4.3.1 Матричная клавиатура
- •4.4.3.2 Жидкокристаллический индикатор
- •4.4.3.3 Светодиодные индикаторы
- •4.4.3.4 Звукоизлучатель
- •4.4.3.5 Дискретные входы-выходы
- •4.4.10 Фильтрующие емкости
- •4.5 Микроконтроллер aDuC812
- •4.6 Расширитель портов ввода-вывода на базе плис
- •4.6.1 Регистр клавиатуры kb
- •4.6.2 Регистр шины данных жки data_ind
- •4.6.3 Регистр данных параллельного порта ext_lo
- •4.6.4 Регистр данных параллельного порта ext_hi
- •4.6.5 Регистр управления ena
- •4.6.6 Регистр управления жки c_ind
- •4.6.7 Регистр управления светодиодами sv
- •4.6.8 Логическая схема плис: доступ к периферийным устройствам
- •4.6.9 Жидкокристаллический индикатор
- •4.6.9.1 Историческая справка
- •4.6.9.2 Подключение жки
- •4.6.9.3 Контроллер жки
- •4.6.9.4 Память данных жки (ddram)
- •4.6.9.9 Таблица команд контроллера жки
- •4.6.9.10 Операции чтения и записи команд/данных
- •4.7 Внешняя память программ и данных
- •5 Инструментальные средства для работы со стендом
- •5.1 Программирование стенда sdk-1.1
- •5.2 Компилятор sdcc
- •5.2.10 Использование меток
- •5.2.11 Директива __naked
- •5.2.12 Формат Intel hex
- •5.3 Инструментальная система m3p
- •5.4 Утилита make
- •5.5 Система контроля версий
- •6 Примеры программирования стенда sdk-1.1
- •6.1 Приступаем к работе
- •6.2 Программирование светодиодных индикаторов
- •6.3 Программирование последовательного канала
- •6.4 Программирование таймера
- •6.5 Программирование жки
2.2.4.5 Адресация модулей eeprom
Микросхемы E2PROM с объемом памяти 1 K, 2 K, 4 K, 8 K и 16 K после
перехода в старт-состояние должны получать слово (8 бит) с адресом
устройства. Только тогда микросхема сможет произвести операцию чтения или
записи (см. рисунок).
Рисунок 13. Адреса устройств
Первые четыре бита слова адреса представляют собой обязательную
последовательность «1010». Данная последовательность одинакова для всех
устройств E2PROM (данной серии, производства Atmel). Следующие 3 бита
представляют собой адреса устройств А2, А1 и А0 для 1K/2K E2PROM. Эти
биты соответствуют входам с аналогичными названиями.
E2PROM с объемом памяти 4 К использует только биты адресов А2 и А1, а
P0 представляет собой адрес страницы памяти. Оба бита адресов устройств
соответствуют выходам на микросхеме с аналогичными названиями. Вывод А0
не подключен.
Адресный байт для E2PROM с объемом памяти 8 К содержит только один
бит адреса устройства А2, а биты P1 и P0 используются для адресации
страницы памяти. Бит А2 соответствует выводу А2 на микросхеме. Выводы А1
и А0 не подключены.
62
В E2PROM с 16 К памяти биты P0, P1 и P2 представляют собой адрес
страницы памяти в устройствах 4 K, 8 K и 16 K. Выводы А0, А1 и А2 не
подключены.
Восьмой бит адреса устройств используется для выбора режима
чтения/записи. Если бит равен 1, происходит чтение, иначе – запись. После
сравнения адресов устройств E2PROM выдает 0. Если сравнение не было
произведено, микросхема возвращается в режим ожидания.
2.2.4.6 Операция записи
Запись байта
После того, как E2PROM получит адрес ячейки и подтвердит возможность
приема, должна происходить операция записи. Получив адрес и ответив
выдачей «0», устройство примет первые 8 бит данных. Затем E2PROM выдает
«0». Адресующее устройство (например, микроконтроллер) должно остановить
процесс записи путем выдачи стоп-сигнала. В этот момент E2PROM начинает
цикл записи в постоянную память. До тех пор, пока запись не будет завершена,
отключаются все входы и E2PROM не реагирует ни на какие сигналы (см.
рисунок).
Рисунок 14. Запись байта
Список обозначений:
WRITE – запись;
ACK – сигнал подтверждения;
SDA LINE – линия передачи данных SDA;
DATA – данные;
DEVICE ADDRESS – адрес устройства;
WORD ADDRESS – адрес ячейки памяти.
Страничная з а п и с ь
1K/2K E2PROM может производить страничную запись (по 8 байт), а
устройства с объемом памяти в 4 K, 8 K и 16 K производят 16-байтную запись.
Процесс страничной записи инициируется так же, как запись одного байта,
отличие в том, что микроконтроллер после передачи первого слова не выдает
стоп-сигнал.
63
Вместо этого, как только E2PROM подтвердит получение первого слова
данных, микроконтроллер может передать ему еще до 7 (1 К / 2 К) или 15 (4 К,
8 К, 16 К) слов данных. После получения каждого слова E2PROM будет
выдавать на линии «0» (подтверджение). Микроконтроллер прекращает
страничную запись, выдавая стоп-сигнал (см. рисунок).
Рисунок 15. Запись страницы
Список обозначений:
WRITE – запись;
ACK – сигнал подтверждения;
SDA LINE – линия передачи данных SDA;
DATA – данные;
DEVICE ADDRESS – адрес устройства;
WORD ADDRESS – адрес ячейки памяти.
Каждый раз при получении слова данных E2PROM инкрементирует
младшие 3 (1 K / 2 K) или 4 (4 K, 8 K, 16 K) адресных бита. Старшие адресные
биты не инкрементируются.
Во время записи последовательности байт счетчик адреса «перепрыгивает»
с последнего байта текущей страницы на первый байт той же самой страницы.
Опрос устройства
Как только E2PROM начнет внутренне тактируемый цикл записи и
отключит свои входы, можно инициировать запрос на подтверждение
получения данных. Этот процесс включает отправку слова с адресом
устройства, а затем выдачу стоп-сигнала. Бит чтения/записи устанавливается в
зависимости от требуемой операции. E2PROM выставит «0» – это позволит
продолжить запись или чтение, только после завершения своего внутреннего
цикла.