- •Глава 2
- •Оглавление Разработка программного обеспечения Структура данных
- •Принцип построения программы.
- •Программное обеспечение
- •Тело основного цикла.
- •Прерывание
- •Выдача звуковых сообщений.
- •Модуль клавиатуры.
- •Интерфейсы Интерфейс с синтезатором частоты мс145192
- •Интерфейс с eeprom.
- •Протокол общения с жки
- •Испытания, расчеты и отладка Технология создания программы
- •Расчеты
- •Расчет констант для загрузки в синтезатор
- •Расчет констант для звуковых сообщений.
Выдача звуковых сообщений.
В начале программы при описании переменных и констант была определена таблица, в которой были заданы музыкальные ноты. Во второй части программной памяти были определены последовательности нот - мелодии, описанные с помощью нот. Нота описывается совокупностью частоты и длительности звука При нахождении программой непустого значения текущей мелодии, программа начинает доставать из памяти последовательности нот, в соответствии с которыми основная программа начинает записывать эти значения в модуль ШИМ (в радиостанции после него стоит интегратор, который и преобразовывает сгенерированный модулем ШИМ сигнал в синусоиду требуемой частоты). Признаком конца мелодии является пустое значение очередной ноты.
Модуль клавиатуры.
В связи с тем, что в примененном микроконтроллере небольшое количество выводов и традиционным способом клавиатуру обработать стало невозможно, было принято решение задействовать под эти цели один из свободных выводов АЦП, к которому через делитель напряжения подключены кнопки и, в зависимости от считанного напряжения на входе АЦП, считать состояние клавиатуры.
Происходит аналого-цифровое преобразование, в результате которого на выходе АЦП получается 8ми разрядный двоичный код комбинации нажатых клавиш. Во избежание дребезга в следующем прерывании также считывается код и сравнивается с предыдущим. В случае их совпадения делается вывод о том, что комбинация считана правильно. Но так, как клавиш всего четыре, а вместе с комбинациями из двух клавиш 16, требуется определить номер комбинации. Для этого создана клавиатурная таблица, расположенная во второй странице программной памяти и состоящая из 256 значений. По ней однозначно определяется нажатая комбинация.
Интерфейсы Интерфейс с синтезатором частоты мс145192
Для управления загрузкой этого устройства существуют 4 вывода, соединяемые с портом микроконтроллера. Это выводы загрузки данных, синхронизирующей частоты, сигналENABLEиGND.
Для записи значений в управляющие регистры требуется послать последовательную посылку при нулевом значении сигнала ENABLE. В зависимости от длины посылки она попадет в один из трех регистров:
С- для управления
R-для задания частоты сравнения
A-для задания требуемой частоты.
В синтезаторе происходит деление образцовой и генерируемой частоты до определенной величины - шаг (или частота сравнения), задаваемая программистом в 13-разрядном регистре R-CounterЕго значение равно
Для задания выходной частоты служит регистр А, состоящий из двух счетчиков 6-ти разрядный А и 12-ти разрядный N. Значение этого регистра это отношение генерируемой частоты к частоте сравнения
Но существует и ограничение: величина N-counterдолжна быть больше, чем А-counter.
Исходя из этих сведений и рассчитывается получаемая частота.
Интерфейс с eeprom.
Устройство энергонезависимой памяти EEPROMобъемом от 2 до 16 кбит, используемое в радиостанции имеет интерфейсI2C. Это интерфейс фирмыPHILIPS, в котором адресная передача данных осуществляется по двум проводам: данные и синхронизация. По спецификации его пропускная способность 100 кбод, а в расширенном режиме - 400 кбод. Интерфейс позволяет устройству как принимать, так и посылать данные по шине. При этом устройство, инициировавшее передачу называется мастером (master), а принимающееslave.
Рисунок 2-2: адресная
посылка 8 бит
Адрес устройства может быть как 8-ми, так и 10-ти битным числом.
При обмене устройства называются следующим образом:
master-передатчик иslave- приемник
slave- передатчик иmaster- приемник
В обоих случаях masterвыдает синхронизирующие импульсы.
Рисунок 2-3 : старт и стоп
- условия
После принятия условия старта и адресной посылки slave - устройство посылает сигнал о принятии этой посылкиACKNOWLEGE.
Рисунок 2-4 обмен данными
При обмене данными с EEPROMзапись происходит порциями, длина которых зависит от величины внутреннего буфера микросхемы памяти, а чтение из памяти может происходить непрерывно до тех пор, пока все данные, находящиеся в памяти микросхемы не будут переданы к микроконтроллеру. Таким образом, микроконтроллер передает и считывает данные изEEPROM.