Встроенные Системы Часть 6. Функциональные блоки Кафедра Информатики, мат-мех СПбГУ Copyright © 2004 Victor Vengerov [email protected] http://www.oktetlabs.ru/~vvv/es-2004 Контроллер Памяти Интерфейс с различными типами ОЗУ, ПЗУ, а так же с периферийными устройствами Декодирование адреса Конфигурируемое время доступа Конфигурируемая ширина доступа Разновидности Памяти SRAM (Synchronous RAM) DRAM (Dynamic RAM) SDRAM (Synchronous DRAM) ROM (Read-Only Memory) PROM (Programmable ROM) EEPROM (Electronically Erasable PROM) Synchronous Flash Интерфейс памяти Базовые сигналы: A[0:N] – Address D[0:M] - Data CS - Chip Select OE – Output Enable WE[0:K] – Write Enable Flash Memory Память разбита на блоки Блок можно стереть (все биты переходят в состояние «1») После стирания допустим переход из «1» в «0», но не наоборот. Синхронная Память Допускает «постраничное» обращение: доступ к странице происходит последовательно, без отдельного цикла адресации на каждое слово. В сочетании с кэшем или DMA обеспечивает улучшение производительности. Synchronous flash – допускает страничное чтение – эффективно при исполнении кода прямо из flash памяти. Периферийные устройства как память Некоторые периферийные устройства могут подключаться через интерфейс памяти. Доступ к регистрам устройств осуществляется как к памяти. Управление Потребляемой Энергией Изменение тактовой частоты Изменение напряжения питания Отключение неиспользуемых блоков Изменение режимов работы блоков Режим сна Работа процессора приостанавливается Выход из режима сна по наступлению внешнего отслеживаемого события Watchdog Блок, независимо отслеживающий нарушение работы системы и перезапускающий ее. Обычно, перезапуск осуществляется если в течении контрольного времени в регистры не была записана ключевая последовательность. GPIO – General Purpose I/O Некоторые выводы микросхемы могут быть сконфигурированы как Входные (состояние может быть прочитано) Выходные (состоянием можно управлять) Линии прерываний (изменение состояния приводит к возникновению прерывания) Мультиплексирование Выводов Хотя корпуса современных микросхем могут иметь до нескольких сотен выводов, это ценный ресурс: внутренние возможности богаче. Часто часть выводов может быть использована по разному, в зависимости от приложения. Часто функция вывода микросхемы может быть выбрана программно. Таймер Генерация временных меток Генерация импульсов требуемой формы и частоты Источник периодических прерываний Подсчет импульсов Таймер – регистровая модель Регистр управления Выбор режима работы Разрешение/запрещение Выбор источника импульсов Установка предварительного делителя Счетчик Константа перезагрузки/барьер RTC - Часы Реального Времени Энергонезависимы Обычно имеют независимый генератор импульсов Поддерживают текущее астрономического время (день, месяц, год, часы, минуты, секунды) Прерывание по будильнику RTC - Часы Реального Времени Энергонезависимы Обычно имеют независимый генератор импульсов Поддерживают текущее астрономического время (день, месяц, год, часы, минуты, секунды) Прерывание по будильнику Иногда совмещены с энергонезависимой памятью (NVRAM) Контроллер Прерываний Обеспечивает мониторинг линий прерываний и формирует запрос прерывания процессору. Определяет номер прерывания, для обработки. Обрабатывает приоритет прерывания. Контроллер Прерываний – Регистровая Модель Регистр ожидающих прерываний Регистр запрета прерываний Регистры уровня и приоритета Регистры подтверждения прерываний Регистр номера текущего прерывания Контроллеры Периферийных Интерфейсов UART Шины I2C PCI PCMCIA, Compact Flash IDE SCSI AC’97 USB SPI MMC Коммуникационные Ethernet HDLC ATM IrDA Parallel I/O LCD/VGA display ЦАП/АЦП Keypad (клавиатура) Контроллеры – Общие Принципы Определена регистровая модель Контроллер находится под управлением ПО, но функционирует независимо Контроллер формирует запрос прерывания при наступлении значимых событий UART UART – Universal Asynchronous Receiver/Transmitter Типовой контроллер – 16550 (его разновидности часто используются) 16550 UART – Регистровая Модель 16550 UART – Регистровая Модель