Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
Шрифт:
Рис. 4.78. Блок-схемы алгоритмов программного обслуживания контроллера асинхронного обмена SPI
Микроконтроллер и периферийные интегральные схемы. Одна из основных функций интерфейса SPI в микропроцессорных системах — обмен данными между МК и установленными на той же печатной плате интерфейсными ИС. Контроллер SPI в составе МК 68HC12 может быть инициализирован для работы как в режиме ведущего (мастера), так и в режиме ведомого (подчиненного). В процессе обмена с интерфейса SPI — дополнительная функция линий PS7..PS4 порта S.
• PS7 — сигнал
• PS6 — сигнал SCK;
• PS5 — сигнал MOSI. По этой линии передаются данные от ведущего устройства к ведомому;
• PS4 — сигнал MISO. По этой линии передаются данные от ведомого устройства к ведущему.
Регистры управления, используемый в примере. Ниже перечислены биты и регистры управления, которые используются в данном примере:
• 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 часто предназначаются для управления реальными промышленными объектами, в которых входные сигналы имеют аналоговую природу. Это сигналы различных датчиков: тока, напряжения, температуры, давления, ускорения, освещенности, загрязненности воздуха и т.д. Управляя каким либо технологическим агрегатом, МК должен обработать выходные сигналы этих датчиков, рассчитать по их значениям требуемые управляющие воздействия и сформировать необходимые управляющие сигналы для исполнительных устройств. Однако МК по своей сути является цифровым устройством, он способен преобразовывать данные только в цифровом виде. Поэтому для взаимодействия с аналоговыми датчиками микропроцессорная система должна быть оснащена аналого-цифровым преобразователем, который позволит представить аналоговые сигналы в виде цифровых кодов.