Читаем PIC-микроконтроллеры. Все, что вам необходимо знать полностью

Программа 12.5. Работа с двухканальным ЦАП МАХ549

СЕ equ 2

; ******************

; * ФУНКЦИЯ: Загружает новые данные в каналы А и В ЦАП МАХ549А *

; *                  и осуществляет одновременное обновление выходов *

; * РЕСУРСЫ: Подпрограмма SPI_WRITE *

; * ВХОД: Значение канала А — регистр h’20’, канала В — h’21’ *

; * ВЫХОД: Изменяется состояние обоих аналоговых выходов *

; ******************

MAX549A movlw b’00000001’; 1-й управляющий байт

               movwf DATA_OUT; Помещаем в требуемый регистр

               call SPI_WRITE; и пересылаем в МАХ549А

               movf CHANNEL_A,W; Берем значение канала А

               movwf DATA_OUT; Помещаем в требуемый регистр

               call SPI_WRITE; и пересылаем в МАХ549А

               bsf PORTA,CE; Формируем импульс на СЕ

               bcf PORTA,CE

               movlw b’00001010’; 2-й управляющий байт

               movwf DATA_OUT; Помещаем в требуемый регистр

               call SPI_WRITE; и пересылаем в МАХ549А

               movf CHANNEL_B,w; Берем значение канала В

               movwf DATA_OUT; Помещаем в требуемый регистр

               call SPI_WRITE; и пересылаем в МАХ549А

               bsf PORTA,CE; Формируем импульс на СЕ

               bcf PORTA,CE

               return

Если мы снимем осциллограммы с трех выводов микросхемы МАХ549А, то увидим сигналы, похожие на те, что изображены на Рис. 12.6 (на рисунке показана передача 1-й пары байтов . Во время передачи на выводе  удерживается НИЗКИЙ уровень, а данные побитно загружаются во внутренний сдвиговый регистр. После 2-го байта, т. е. после 16-го тактового импульса, подача на вывод  напряжения ВЫСОКОГО уровня активирует регистры ЦАП, заданные в управляющем байте.

Из Рис. 12.6 видно, что изменение состояния линии DIN, управляемой выводом SDO микроконтроллера, происходит перед формированием активного нарастающего фронта на выводе SCK. Очевидно, что состояние должно измениться за определенное время до появления фронта и удерживаться в течение короткого интервала времени после него. В документации на МАХ549А сказано, что минимальное время установки fDS составляет 30 нс, а время удержания fDH — 10 нс. Наша схема будет удовлетворять этим требованиям в любом случае, поскольку даже при тактовой частоте 20 МГц длительность машинного цикла микроконтроллера PIC будет равна 200 нс.

Рис. 12.6.Передача данных в МАХ549А по шине SPI

Благодаря наличию у микросхем входа СЕ к линиям SCK/SDO можно подключить несколько ЦАП — последовательные данные будут заноситься только в ту микросхему, на выводе  которой будет присутствовать НИЗКИЙ уровень. На Рис. 12.7 изображены две микросхемы МАХ549А, подключенные к одной шине SPI и формирующие 4 аналоговых выхода. А, подключив к выводам RA[3:2] дешифратор 2–4, мы сможем управлять четырьмя МАХ549А, используя для этого всего четыре вывода порта.

Рис. 12.7.Подключение нескольких МАХ549А к одной шине SPI

Большинство микроконтроллеров среднего уровня и все микроконтроллеры старшего уровня имеют в своем составе модуль синхронного последовательного порта (SSP), который реализует, помимо всего прочего, протокол SPI. В зависимости от функциональной насыщенности конкретной модели микроконтроллера существует три очень похожих исполнения этого модуля. Первое из этих исполнений называется базовым SSP (BSSP), из которого позже «вырос» обычный SSP. В самых последних моделях появился модуль MSSP (ведущий синхронный последовательный порт). В этом модуле вводится несколько дополнительных опций формирования тактового сигнала SPI, однако гораздо большее значение имеет тот факт, что данный модуль может использоваться в качестве ведущего шины I2С (отсюда и название).

Перейти на страницу:

Все книги серии Программируемые системы

PIC-микроконтроллеры. Все, что вам необходимо знать
PIC-микроконтроллеры. Все, что вам необходимо знать

Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний. В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.Книга рассчитана на самый широкий круг читателей — от любителей до инженеров, при этом для понимания содержащегося в ней материала вовсе не требуется каких-то специальных знаний в области программирования, электроники или цифровой схемотехники. Эта книга будет также полезна студентам, обучающимся по специальностям «Радиоэлектроника» и «Вычислительная техника», которые смогут использовать ее в качестве учебного пособия при прослушивании соответствующих курсов или выполнении курсовых проектов.

Сид Катцен

Радиоэлектроника

Похожие книги

Электроника для начинающих
Электроника для начинающих

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию для защиты от проникновения в дом, елочные огни, электронные украшения для одежды, устройство преобразования звука, кодовый замок, автономную роботизированную тележку и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий.Для начинающих радиолюбителей

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки