Комбинированное звуковое USB-устройство с функциями автономного MP3-плеера и поддержкой Bluetooth
RS – сигнал выбора типа данных;
WR – сигнал записи;
RD – сигнал чтения.
Таким образом, можно организовать соединение микроконтроллера AT91SAM7SE и LCD-дисплея SG12864H по 8-разрядной шине данных с использованием управляющих сигналов SMC контроллера.
4.6 Возможности аппаратной модернизации устройства
Учесть и применить в устройстве все возможности, к
оторые предоставляют базовые компоненты устройства крайне сложно. На процесс разработки устройства оказывают влияние такие факторы, как сроки, ограниченные информационные возможности разработчика и его опыт.
Поэтому остаются неучтенными некоторые возможности устройства, реализовать которые не удалось.
При разработке данного устройства, к сожалению, также не были учтены некоторые возможности его базовых компонентов, которые будут перечислены и рассмотрены в данном подразделе.
Модуль F2M03MLA имеет 4 линии, предназначенные для аудио входа, однако производитель пока еще не предоставил информацию о возможности их использования при подключении стерео микрофона. Неизвестны и программные возможности и особенности модуля, которые могли бы помочь при рассмотрении этого вопроса.
Интерфейс SPI управляющего микроконтроллера AT91SAM7SE может работать с еще 3 внешними периферийными устройствами помимо модуля F2M03MLA. В роли одного из этих устройств может выступать MMC, SD или microSD карта памяти. При рассмотрении этого вопроса нужно учесть максимальное быстродействие SPI порта AT91SAM7SE и его реальные возможности по обслуживанию и модуля, и карты памяти, чтобы избежать “зависания” устройства.
5. Программная часть
Программная часть данного дипломного проекта состоит из программы для процессора устройства (AT91SAM7SE) и драйвера устройства для операционной системы Windows XP.
Программирование управляющего микроконтроллера может осуществляться несколькими способами:
через параллельный интерфейс быстрого программирования (Fast Flash Programming Interface, FFPI), в этом случае микроконтроллер воспринимается как EEPROM память;
через последовательный интерфейс быстрого программирования (FFPI), используя стандартный протокол IEEE 1149.1 JTAG;
через UART порт микроконтроллера, используя встроенную программу-автозагрузчик;
через USB порт микроконтроллера, используя встроенную программу-автозагрузчик.
Помимо этого есть возможность просмотра программы микроконтроллера в режиме отладки и тестирования, используя JTAG/ICE (Embedded ICE) порт и порт UART.
Atmel также предлагает аппаратные средства для работы с AT91SAM7SE в виде отладочной платы AT91SAM7SE-EK, позволяющее подробно изучить возможности микроконтроллера. На официальном сайте компании (www.atmel.com) доступны демонстрационные программные коды и различная литература для этой отладочной платы.
Драйвер устройства должен обеспечить возможность работы с ним средствами операционной системы Windows при подключении к USB-порту компьютера.
5.1 Обзор средств разработки
Для программирования микропроцессоров необходимо несколько инструментов:
обязательные:
компилятор языка C, ассемблер и линковщик;
программатор;
необязательные:
отладчик;
эмулятор.
Несколько лет назад разработчики обходились без компилятора языка C и писали программы исключительно на ассемблере. Однако с развитием и повсеместным распространением микропроцессорных систем сроки разработки проектов существенно сократились, а требования к качеству повысились. Поэтому появились компиляторы языков высокого уровня для программирования микроконтроллеров, так как это позволяло не только сократить время на написание программы, но и облегчить работу программиста (так как языки высокого уровня дали дополнительные возможности, например, встроенные функции, процедуры и прочее).
Для микроконтроллера AT91SAM7SE существует несколько компиляторов языка C. Перечислим их:
IAR (IAR KickStart и усеченная версия IAR Embedded Workbench);
Keil;
ICCARM (пока что не доработан полностью);
GCC (бесплатный C-компилятор для Windows и Linux);
WinARM.
Программатор предназначен для “заливки” программы в память микропроцессора. Существует несколько способов программирования, различающихся по типу соединения, например, возможно программирование по интерфейсу SPI, JTAG или USB. Последний способ представляется наиболее удобным и доступным, так как не требует использования дополнительных разъемов, проводов и оборудования.
Программатор состоит из трех составляющих: программы программатора, драйвера и кабеля для подключения. В случае программирования через USB применяется обычный USB кабель.
Существует несколько программ, позволяющих производить программирование AT91SAM7SE по интерфейсу USB:
FLIP – это стандартный программатор, предоставляемый компанией Atmel для своих микроконтроллеров;
ER-Tronic – это узко специализированный программатор для данного микроконтроллера;
Rowley Associates;
SAM-BA (SAM Boot Assistant) – бесплатный загрузчик от Atmel.
К достоинствам программы FLIP относят поддержку большого числа функций: очистка, проверка, чтение и запись EEPROM- и Flash-памяти; возможность ручного редактирования буферов памяти; возможность загрузки и сохранения буферов в HEX-формате; отслеживание изменений в процессе разработки. Недостатками данной программы являются некоторая запутанность интерфейса и слабая справочная система.
ER-Tronic имеет понятный интерфейс и удобный редактор кода, однако совсем не имеет справки.
Другая сторона разработки устройства с точки зрения программиста – это разработка драйвера устройства.
Процесс создания драйверов достаточно сложен и трудоемок, и, конечно, на рынке программного обеспечения появились программы, облегчающие написание и тестирование драйверов.
Наиболее популярные из них – это NuMega Driver Studio, Jungo WinDriver и Jungo Kernel Driver.
NuMega Driver Studio – это программный комплекс, входящий в состав среды разработки Microsoft Visual Studio. NuMega Driver Studio представляет собой программу-помощника, отвечая на вопросы которого, можно получить вполне работоспособный шаблон драйвера. Для компиляции полученного кода потребуются классы и библиотеки NuMega и Microsoft DDK.
Jungo WinDriver – это программный пакет, предназначенный для разработки драйверов устройств, использующих стандарты PCI, Compact PCI, USB, ISA, ISA PnP, EISA и работающих под управлением операционных систем Windows9X/Me/NT/2000/XP. Позволяет обращаться к физической памяти, портам, устанавливать собственные обработчики аппаратных прерываний. Не требует наличия Windows DDK и программирования на уровне ядра. Используется графическая оболочка для диагностики оборудования и автоматической генерации кода на языка C/C++ или Pascal (Delphi).
Jungo Kernel Driver имеет те же характеристики, что и Jungo WinDriver. Единственное отличие в том, что этот программный пакет обеспечивает более высокую производительность и требует наличия Windows DDK. Также используется графическая оболочка для диагностики оборудования и автоматической генерации кода.
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности