Комбинированное звуковое 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. Также используется графическая оболочка для диагностики оборудования и автоматической генерации кода.

Страница:  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15 
 16  17  18  19  20  21  22  23  24  25 


Другие рефераты на тему «Программирование, компьютеры и кибернетика»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы