- •«Пермский национальный исследовательский политехнический университет»
- •«Встроенные микропроцессорные системы»
- •Составитель о.В. Гончаровский
- •Оглавление
- •2. Программное обеспечение встроенных систем ……….
- •Введение
- •Аппаратные средства встроенных систем
- •Организация аппаратных средств встроенных
- •1.2. Элементы архитектуры процессоров встроенных систем
- •1.2.1. Множество команд
- •1.2.3.1. Адресное пространство
- •1.2.3.2. Порядок байт
- •1. 2.3.3. Когерентность памяти
- •1. 2.3.4. Защита памяти
- •1. 2. 4. Модель прерываний
- •1.2. 5.Модель управления памятью
- •1.2.5.1. Страничная организация памяти
- •1.2.5.2. Сегментация памяти
- •1.3. Типы процессоров
- •1.4. Формы параллелизма в процессорах
- •1.4.1. Конвейеризация
- •1.4.2. Параллелизм уровня команд
- •1.5.Технологии памяти
- •1.5.1. Оперативная память
- •1.5.1. 1. Статическое озу
- •1.5.2. Постоянное запоминающее устройство (rom)
- •1.6. Иерархия памяти
- •1.6.1. Распределение или карта памяти
- •1.6.2. Блокнотная и кэш память
- •1.6.2.2. Ассоциативная по множеству кэш-память
- •1.6.2.3. Обновление кэш-памяти.
- •1.6.2.4. Протокол когерентности кэширования с обратной записью
- •1.7. Магистраль микропроцессорной системы
- •1.8. Базовые устройства ввода-вывода встроенных систем
- •1.8.1. Порты ввода-вывода общего назначения
- •1.7.2. Таймер-счетчик
- •1.8.3. Импульсно-кодовая модуляция.
- •1.8.4. Многоканальный аналого-цифровой преобразователь
- •1.9. Базовые последовательные интерфейсы ввода-вывода
- •1.9.2. Последовательный интерфейс spi
- •1.9.4.1. Введение в usb
- •1.9.4.2. Интерфейс Open Host Controller для usb
- •Вопросы для самопроверки
- •Модуль 2
- •1.10. Язык проектирования аппаратуры vhdl
- •1.10.2. Введение в vhdl
- •1.10.2.1. Программирование на vhdl для моделирования и синтеза [22]
- •1.10.2.3. Операторы присваивание и process [22]
- •1.10.2.4. Цикл моделирования vhdl
- •1.10.2.5. Многозначная логика и стандарт ieee 1164
- •1.11. Проектирование устройств ввода-вывода и контроллеров
- •1.12. Интегрированная среда разработки аппаратных средств
- •Вопросы для самопроверки
- •Модуль 3
- •2. Программное обеспечение встроенных систем
- •2.1 Модель вычислений
- •2.2 Автомат с конечным числом состояний
- •2.3. Асинхронный язык проектирования sdl
- •2.4. Синхронный язык проектирования Lustre
- •2.5. Многозадачность.
- •2.5.1. Язык программирования Си
- •2.5.2. Потоки
- •2.5.2.1. Реализация потоков
- •2.5.2.2. Взаимное исключение
- •2.5.2.3. Взаимная блокировка
- •2.5.2.4. Модели непротиворечивости памяти
- •2.5.2.5. Проблемы с потоками
- •2.5.3. Процессы и передача сообщений
- •2.6. Интегрированная среда разработки прикладного программного
- •2.6.2. Комплект программ Telelogic Tau sdl Suite
- •2.6.3. Средства разработки программного обеспечения
- •2.7.1. Моделирование, эмуляция и макетирование
- •2.7.2. Формальная верификация
- •2.7.3. Оценка производительности
- •2.7.3.1. Оценка wcet
- •2.7.3.2. Исчисление реального времени
- •2.7.4. Модели энергии и мощности
- •2.7.5. Тепловая модель
- •Задания
- •1. Конвейеризация
- •2. Иерархия памяти
- •3. Базовые устройства ввода-вывода встроенных систем
- •5. Многозадачность
- •6. Валидация и оценка проекта
- •Заключение
- •Библиографический список
- •Встроенные микропроцессорные системы
1.8.4. Многоканальный аналого-цифровой преобразователь
Как правило, μC, используемые во встроенных системах, имеет в своем составе многоканальный аналого-цифровой преобразователь (АЦП или ADC). Такой ADC преобразует аналоговый сигнал, поступающий с одного из М входов GPIO, в N-разрядный двоичный код.
На рис. 35 приведена упрощенная структурная схема многоканального ADC . Через Аналоговый MUX (мультиплексор) один и аналоговых входов ADCi подключается к схеме выборки/хранения (S/H), выходное значение которой преобразуется ADC в двоичный код. Преобразование запускается по команде программного обеспечения, возвращающего затем полученный результат.
Рис. 34. Сигнал пилообразной формы, формируемый таймером-счетчиком
Рис.35. Схема многоканального аналого-цифрового преобразователя
Компонент S/H схеме выполняет захват (ключ замкнут конденсатор C_INAD через резистор Z_INAD заряжается до величины входного значения) и хранение величины входного напряжения на время выполнения преобразования (ключ разомкнут и конденсатор C_INAD не имеет возможности быстро разрядится). На время захвата влияет выходное значение источника сигнала: чем оно выше, тем больше времени необходимое для захвата.
Существует большое количество методов преобразования. Базовый принцип, используемый в них, основан на использовании компаратора для определения может или нет, тот или иной бит входить в результат преобразования со значением 1.
К наиболее используемым методам относятся: сравнения с пилообразным сигналом, последовательного приближения (или с поразрядным уравновешиванием) и параллельное прямое преобразования (Flash ADC).
В первом методе цифро-аналоговый преобразователь (ЦАП или DAC) увеличивает напряжение на своем выходе согласно последовательному увеличению значения двоичного N-разрядного счетчика, подключенного к его входу. Как только компаратор зафиксирует совпадение выходного значения DAC и аналогового входа, двоичный счетчик останавливается, сохраняя свое значение как результат преобразования. Этот метод грешен переменным временем преобразования, и оно тем больше чем больше величина входного аналогового сигнала.
Второй метод в среднем быстрее первого, время преобразования постоянно и равно N-тактам. В каждом такте преобразования решается вопрос, какое значение должен принять очередной i-разряд N-разрядного регистра результата на основании сравнения значения выхода DAC, к входу которого подключен регистр результата, и аналогового входа. Вначале преобразования наиболее старший значащий бит регистра последовательного приближения устанавливается в 1, остальные в 0. Это цифровое значение затем преобразуется DAC в аналоговую величину, соответствующую половине максимального входного значения. Если измеряемая входная величина превосходит величину DAC наиболее старший значащий бит регистра последовательного приближения остается в 1, иначе сбрасывается в 0. Этот процесс повторяется со следующим битом. Он останется в 1,если входная величина находится во второй или четвертой четверти диапазона. И так для всех остальных бит.
Третий метод самый быстрый, но требует своего компаратора для каждого уровня квантования, т.е. 2^N-1 компараторов (например, при N=10 необходимо 1023 компаратора). Схема кодирования посредством таблицы истинности преобразует значения выходов компараторов в N-разрядный двоичный код. Поэтому обычно N=8, но это отрицательно сказывается на точности. ADC различных микроконтроллеров могут различаться такими свойствами, как:
– разрешающая способность (разрядность, может быть переменной);
– значением интегральной нелинейности:
– абсолютная погрешность;
– время преобразования (может быть переменным);
– производительность (может быть переменной);
– простой /дифференциальный аналоговый вход, количество входов;
– наличие входного усилителя с переменным коэффициентом усиления;
– допустимый диапазон изменения входного сигнала:
– набор опорных напряжений;
– режимы преобразования (однократный режим, режим с автозапуском, режим свободного хода);
– прерывание по окончанию преобразования;
– наличие механизмов шумоподавления.