КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Средства и системы разработки микроконтроллеров.Наличие в микропроцессорной системе, как аппаратных, так и программных средств обуславливает ряд специфических особенностей, присущих процессу ее создания. Он существенно отличается от проектирования традиционных электронных устройств, не предполагающих программное обеспечение. В отличие от традиционного подхода, когда все функции, возлагаемые на устройство, достигаются чисто аппаратными средствами и другой альтернативы просто не существует, при аппаратно-программной реализации выполняемые функции оптимально располагаются между программными и аппаратными средствами микропроцессорной системы. Идея единства программного и аппаратного обеспечения систем на базе микроконтроллеров является очень важной. Объединение инструментальных средств разработки программного обеспечения с инструментальными средствами разработки аппаратного обеспечения может стать важным преимуществом при разработке устройства. Существуют пять различных инструментов, которые используются для разработки приложений на базе микроконтроллеров, и объединение их функций может существенно облегчить процесс проектирования: - редактор исходных текстов; - компилятор/ассемблер; - программный симулятор; - аппаратный эмулятор; - программатор. Хотя не все из этих инструментов являются необходимыми, и каждый из них может исполняться в отдельности, но их совместное использование упрощает разработку и отладку приложения. Редактор используется для создания исходного кода программы. Существует множество самых разнообразных редакторов от простых, которые копируют код, вводимый с клавиатуры, в файл, до специализированных редакторов, реакция которых на нажатие определенных клавиш может программироваться пользователем. Такая реакция редактора избавляет разработчика от необходимости заботится о правильном синтаксисе оператора. Компилятор/ассемблер используется для преобразования исходного текста в машинные коды микроконтроллера, т.е. в формат, который может быть загружен память программ. Симуляторы — это программы, которые выполняют откомпилированный программный код в инструментальном компьютере. Это позволяет осуществлять наблюдение за программой и реакцией микроконтроллера на различные события. Симулятор может быть неоценимым инструментом в процессе разработки программного обеспечения, позволяя исследовать различные ситуации, которые трудно воспроизвести на реальной аппаратуре. Важное преимущество симуляторов — возможность многократного воспроизведения рабочих ситуаций. Если надо понять, почему участок программы работает некорректно, можно повторять этот участок снова и снова до тех пор, пока ошибка не будет обнаружена. Воспроизводимость может быть расширена путем использования специальных файлов входных воздействий. Эти файлы служат для того, чтобы задать симулятору различные комбинации входных потоков данных и формы сигналов. Чтобы имитировать внешние условия и ситуации, обычно используется специальный файл входных воздействий. Этот файл задает последовательность входных сигналов, поступающих на моделируемое устройство. Разработка такого файла может потребовать много времени и больших усилий. Но для понимания того, как работают микроконтроллер и программа в определенных ситуациях, использование симулятора и файла входных воздействий является наилучшим методом. В большинстве случаев следует использовать симуляцию перед сборкой и включением реальной схемы. Если устройство не работает ожидаемым образом, то следует изменить файл входных воздействий и попытаться понять, в чем состоит проблема, используя для этого симулятор, который позволяет наблюдать за процессом выполнения программы в отличие от реальной аппаратуры, где можно увидеть только конечные результаты. Эмуляторы.Наиболее сложным и дорогим инструментом для отладки приложения и электрических интерфейсов является эмулятор. Эмулятор — это устройство, которое заменяет микроконтроллер в схеме и выполняет программу под Вашим управлением. Эмулятор является превосходным инструментом для разработки большинства приложений, хотя имеются некоторые разногласия по вопросу их использования в процессе разработки. Обычно эмулятор содержит специальный эмуляторный кристалл, который подсоединяется в ведущему компьютеру или рабочей станции. Эмуляторный кристалл - это обычный микроконтроллер, помещенный нестандартный корпус с дополнительными выводами, которые подключаются к шине памяти программ и управляющим сигналам процессора. Эти дополнительные выводы позволяют соединять микроконтроллер с внешней памятью программ, которая подключена к ведущему компьютеру. Такой интерфейс позволяет легко загружать тестовые программы в эмуляторный кристалл. Выводы эмуляторного кристалла соединяются с разъемом (эмуляторная вилка), который подключается к отлаживаемому устройству, заменяя в нем микроконтроллер. Взаимодействие с эмуляторами очень похоже на работу с симулятором. Разница состоит в том, что эмулятор не воспринимает файл входных воздействий, так как его выводы подключены к реальному устройству. Эмулятор предназначен для отладки приложений на реальном оборудовании. Программатор. Последний инструмент разработчика - это программатор памяти программ микроконтроллера. Хотя некоторые производители микроконтроллеров предпочитают выпускать их с масочнопрограммируемой памятью программ, они обычно выпускают также аналогичные версии микроконтроллеров с E(E)PROM памятью для разработки приложений. Это значит, что существует возможность непосредственного программирования микроконтроллера при разработке приложения. Для некоторых микроконтроллеров требуется специальный программатор, но чаще всего используются возможности внутрисистемного программирования ISP. В таком случае программатор является частью проектируемого устройства. Некоторые программаторы реализуют функции схемного эмулятора. При этом установленный в программаторе микроконтроллер подключается к отлаживаемой системе и управляет ее работой аналогично тому, как это выполняется в эмуляторе. 29. Системы ввода/вывода (СВВ). Способы подключения СВВ к процессору, их достоинства и недостатки. Функции систем ввода/вывода(СВВ). Их структура. 1. Обеспечение преобразования форматов квантов данных, поступающих от ПУ в форматы ЦП или оперативной памяти. И обратное преобразование при выводе информации. 2. Формирование адреса ячейки памяти в ОЗУ, в которую должен быть помещен сформированный квант данных 3. Формирование управляющих сигналов, регламентирующих работу ПУ при различных режимах его работы. 4. Получение управляющей информации от процессора и преобразование ее в сигнал, управляющих работой ПУ. Два режима работы системы ввода/вывода: 1. центрально-синхронный режим работы СВВ(рис.2). Все операции ввода/вывода и обработки информации осуществляются последовательно, т.е. обработка информации возможна только после окончания ввода/вывода информации. В таких устройствах 1 команда ввода/вывода обеспечивает обмен одного кванта данных. Для передачи массива данных необходимо организовать систему переходов. Для таких систем время обработки данных = сумме операций ввода/вывода + сумма времени, затрачиваемого на операции вычисления. Достоинства: Медленнодействующий, но дешевый. Наиболее быстродействующим является асинхронный принцип ввода/вывод
30. Организация адресного пространства системы ввода/вывода. Совмещенное и выделенное адресное пространство, достоинства и недостатки. Как и обращение к памяти, операции ввода/вывода также предполагают наличие некоторой системы адресации, позволяющей выбрать один из модулей СВВ, a также одно из подключенных к нему внешних устройств. Адрес модуля и ВУ является составной частью соответствующей команды, в то время как расположение данных на внешнем устройстве определяется пересылаемой на ВУ информацией. Адресное пространство ввода/вывода может быть совмещено с адресным пространством памяти или быть выделенным. При совмещении адресного пространства для адресации модулей ввода/вывода отводится определенная область адресов (рис. 8.2). Обычно все операции с модулем ввода/вывода осуществляются с использованием входящих в него внутренних регистров: управления, состояния, данных. Фактически процедура ввода/вывода сводится к записи информации в одни регистры МВВ и считыванию ее из других регистров. Это позволяет рассматривать регистры МВВ как ячейки основной памяти и работать с ними с помощью обычных команд обращения к памяти, при этом в системе команд ВМ вообще могут отсутствовать специальные команды ввода и вывода. Так, модификацию регистров МВВ можно производить непосредственно с помощью арифметических и логических команд. Адреса регистрам МВВ назначаются в области адресного пространства памяти, отведенной под систему ввода/вывода.
Рис. 8.2.Распределение совмещенного адресного пространства Такой подход представляется вполне оправданным, если учесть, что ввод/вывод обычно составляет малую часть всех операций, выполняемых вычислительной машиной, чаще всего не более 1% от общего числа команд в программе. Реализация концепции совмещенного адресного пространства в ВМ с кэш-памятью и виртуальной адресацией сопряжена с определенными проблемами. В частности, усложняется отображение виртуального адреса устройства ввода/вывода на физическое ВУ. Сложности также возникают и с кэшированием регистров МВВ. Сформулируем преимущества и недостатки совмещенного адресного пространства. Достоинства совмещенного адресного пространства:
Недостатки совмещенного адресного пространства:
Совмещенное адресное пространство используется в вычислительных машинах MIPS и SPARC. В случае выделенного адресного пространства для обращения к модулям ввода/вывода применяются специальные команды и отдельная система адресов. Это позволяет разделить шины для работы с памятью и шины ввода/вывода, что дает возможность совмещать во времени обмен с памятью и ввод/вывод. Кроме тог:., адресное пространство памяти может быть использовано по прямому назначению в полном объеме. В вычислительных машинах фирмы IBM и микроЭВМ на базе процессоров фирмы Intel система ввода/вывода, как правило, организуется в соответствии с концепцией выделенного адресного пространства. Достоинства выделенного адресного пространства:
31. Категории и структура внешних устройств. Связь ВМ с внешним миром осуществляется с помощью самых разнообразных, внешних устройств. Каждое ВУ подключается к МВВ посредством индивидуальной шины. Интерфейс, по которому организуется такое взаимодействие МВВ и ВУ, часто называют малым. Индивидуальная шина обеспечивает обмен данными и управляющими сигналами, а также информацией о состоянии участников обмена. Внешнее устройство, подключенное к МВБ, обычно называют периферийным устройством (ПУ). Все множество ПУ можно свести к трем категориям [200]:
Примерами первой группы служат видеотерминалы и принтеры. Ко второй группе причисляются внешние запоминающие устройства (магнитные и оптические диски, магнитные ленты и т. п.), датчики и исполнительные механизмы. Отметим двойственную роль внешних ЗУ, которые, с одной стороны, представляют собой часть памяти ВМ, а с другой — являются внешними устройствами. Наконец, устройства третьей категории позволяют ВМ обмениваться информацией с удаленными объектами, которые могут относиться к двум первым группам. В роли удаленных объектов могут выступать также другие ВМ.
Рис. 8.3.Структура внешнего устройства
Обобщенная структура ВУ показана на рис. 8.3. Интерфейс с МВБ реализуется в виде сигналов управления, состояния и данных. Данные представлены совокупностью битов, которые должны быть переданы в модуль ввода/вывода или получены из него. Сигналы управления определяют функцию, которая должна быть выполнена внешним устройством. Это может быть стандартная для всех устройств функция — посылка данных в МВБ или получение данных из него, либо специфичная для данного типа ВУ функция, такая, например, как позиционирование головки магнитного диска или перемотка магнитной ленты. Сигналы, состояния характеризуют текущее состояние устройства, в частности включено ли ВУ и готово ли оно к передаче данных. Логика управления — это схемы, координирующие работу ВУ в соответствии с направлением передачи данных. Задачей преобразователя является трансформация информационных сигналов, имеющих самую различную физическую природу, в электрические сигналы, а также" обратное преобразование. Обычно совместно с преобразователем используется буферная память, обеспечивающая временное хранение данных, пересылаемых между МВБ и ВУ. 32. Модули ввода-вывода. Функции модуля ввода-вывода. Модули ввода/вывода
|