Микроконтроллера ATmega128
SPI микроконтроллера ATmega128 можно использовать не только для программирования памяти программ и EEPROM МК, но и для подключения различных элементов системы, которые имеют встроенный интерфейс SPI.
Несмотря на относительно невысокое быстродействие микроконтроллера, на его основе можно реализовать генераторы специальных сигналов, преобразователи, сумматоры и устройства цифровой обработки аналоговых сигналов. Так как многие микроконтроллеры не имеют встроенные подсистемы вывода аналоговых сигналов, то необходимо использовать внешние цифро-аналоговые преобразователи (ЦАП).
Такие микросхемы выпускаются как с параллельной, так и с последовательной загрузкой преобразуемых данных. Последовательная загрузка обычно осуществляется через SPI (Serial Peripheral Interface -последовательный интерфейс для подключения периферийных устройств), при этом микроконтроллер соединяется с микросхемой ЦАП двумя сигнальными линиями. Выбор способа загрузки данных в микросхему ЦАП зависит от конкретной задачи. Параллельный способ загрузки выполняется в несколько раз быстрее последовательного, но требует использования большего числа линий ввода/вывода микроконтроллера, а возможно и дополнительной микросхемы для буферизации данных.
В качестве примера в настоящем разделе рассматривается устройство, выполненное на основе МК, в котором используется последовательная загрузка данных в микросхему ЦАП (схема MAX515) через SPI микроконтроллера (рис. 2. 27).
MAX515 последовательный 10-разрядный ЦАП, маломощный, питается от +5В и потребляемый ток порядка 140 мА, поставляется в DIP(8) и SO(8) корпусах. Описание выводов ЦАП MAX515 приведено в таблице 2.53.
Таблица 2.53. Описание выводов
Вывод | Название | Функция |
DIN | Последовательный вход для данных | |
SCLK | Последовательный вход для счетчика | |
CS | Выбор чипа | |
DOUT | Последовательный выход | |
AGND | Аналоговая земля | |
REF IN | Эталонный вход | |
Vout | Выход ЦАП | |
Vdd | Положительное напряжение |
Микросхема MAX515, представляет собой 10-разрядный ЦАП с интерфейсом SPI. Микросхема подключается к линиям SCK, MISO и MOSI микроконтроллера. Эти же линии вместе с линией RESET используются и для программирования микроконтроллера через разъем ХР. Поэтому в рабочем режиме отключение программатора обязательно. Резистор R2 и конденсатор С5, подключаемые к аналоговому выходу микросхемы ЦАП, служат для сглаживания сигнала. Выходное напряжение ЦАП может изменяться от 0В до уровня опорного напряжения Uref, подаваемого на вход микросхемы ЦАП.
На рисунке 2.27 приведена схема подключения ЦАП к порту SPI микроконтроллера.
Рис. 2.27. Схема подключение ЦАП MAX515
к микроконтроллеру по порту SPI
Контрольные вопросы
1. Отличительные особенности интерфейса SPI.
2. Режимы работы интерфейса SPI.
3. Приведите схему соединения ведущего и ведомого МК по интерфейсу SPI.
4. Назначение линий SCK, MOSI и MISO.
5. Назначение вывода SS в различных режимах работы интерфейса SPI.
6. Регистр управления SPI – SPCR. Назначение битов регистра SPCR.
7. Для чего используется регистра управления SPCR?
8. Приведите пример формирования управляющего слова и команды его загрузки в регистр SPCR.
9. Что означает «полярность синхронизации»? Приведите временные диаграммы синхронизации SPI.
10. Каким образом задается частоту синхронизации SPI?
11. Формат регистра статуса SPI – SPSR. Назначение битов регистра SPSR.
12. Для чего используется регистра статуса SPSR?
13. Приведите пример чтение содержимого регистра SPSR и его использования.
14. Приведите команды обращения к регистрам SPCR и SPSR.
15. В чем отличие организации обмена данными по порту SPI в режиме приоритетного прерывания и в режиме опроса регистра статуса SPSR?
16. Назначение регистра данных SPI – SPDR и команды обращения к нему.
17. Для чего используется порт SPI, кроме приема и передачи данных?
18. Приведите программу записи данных в ЦАП (рис. 2.27)
19. Приведите программу формирования прямоугольных импульсов на выходе ЦАП.