Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
Шрифт:
• DDRS — регистр направления передачи порта S. Разряды DDRS7…DDRS4 должны быть установлены соответствующим образом при работе контроллера SPI в режиме ведущего. Это необходимо для правильного формирования сигналов обмена на линиях порта S;
• SP0BR — регистр скорости передачи. Разряды SPR2…SPR0 этого регистра задают скорость обмена по шине SPI;
• SP0CR1 — регистр управления (первый). Задает режимы работы контроллера SPI;
• SP0CR2 — регистр управления (второй). Задает режимы работы контроллера SPI;
• SP0SR — регистр состояния. Отражает текущее состояние процесса передачи информации по шине SPI;
• SP0DR — регистр данных.
Пример программирования контроллера SPI. В нашем примере мы будем использовать встроенный контроллер SPI в режиме ведущего. Контролер будет непрерывно посылать шестнадцатеричное число $F0 в «воображаемую» периферийную ИС. Работоспособность приведенного программного кода может быть проверена с помощью осциллографа. При желании Вы можете собрать простейшую периферийную ИС — последовательный регистр со светодиодами, подключенными к параллельным выходам (рис. 4.79). В примере не использованы прерывания, контроль за состоянием флага SPIF ведется методом полинга.
Рис. 4.79. Функциональная схема периферийного устройства для тестирования обмена по SPI
В приведенном примере мы показали лишь технику программирования обмена для контроллера SPI, однако мы не останавливались на особенностях подчиненного устройства, с которым происходит обмен.
4.19.5 Периферийные ИС с интерфейсом SPI
Интерфейс SPI обычно используется для расширения функциональных возможностей однокристального МК. Многие производители полупроводниковых компонентов выпускают периферийные интегральные схемы с интерфейсом SPI. По функциональному назначению эти схемы принадлежат к следующим группам устройств:
• Память типа EEPROM или FLASH;
• Дополнительные порты ввода/вывода;
• Часы реального времени;
• АЦП высокого разрешения (число разрядов преобразования превышает 8 бит);
• Драйверы светодиодных и жидкокристаллических дисплеев;
• Многоканальные ЦАП;
• Схемы фазовой автоподстройки частоты.
4.20. Введение в теорию аналого-цифрового преобразования
Встраиваемые микропроцессорные системы на основе МК семейства 68HC12 часто предназначаются для управления реальными промышленными объектами, в которых входные сигналы имеют аналоговую природу. Это сигналы различных датчиков: тока, напряжения, температуры, давления, ускорения, освещенности, загрязненности воздуха и т.д. Управляя каким либо технологическим агрегатом, МК должен обработать выходные сигналы этих датчиков, рассчитать по их значениям требуемые управляющие воздействия и сформировать необходимые управляющие сигналы для исполнительных устройств. Однако МК по своей сути является цифровым устройством, он способен преобразовывать данные только в цифровом виде. Поэтому для взаимодействия с аналоговыми датчиками микропроцессорная система должна быть оснащена аналого-цифровым преобразователем, который позволит представить аналоговые сигналы в виде цифровых кодов.
Процесс преобразования изменяющегося во времени аналогового сигнала в последовательность цифровых кодов предполагает выборку (запоминание) величины измеряемого аналогового сигнала через равноотстоящие во времени интервалы с последующим преобразованием каждого такого отсчета в цифровой код (рис. 4.80).
Рис. 4.80. Временная диаграмма, поясняющая процесс преобразования аналогового сигнала в цифровой код.
Для представления некоторого изменяющего во времени аналогового сигнала в цифровом коде необходимо: