5. Установить на SS высокий уровень.
Обратите внимание, что на каждом такте данные должны быть отправлены (или получены). Например, далее в сценарии связи с цифровым потенциометром плата Arduino будет посылать данные, но ничего не получать от ведомого устройства.
9.3. Сравнение SPI и I 2C
Многие виды устройств, в том числе акселерометры, цифровые потенциометры, дисплеи и т. п., доступны и в SPI- и в I 2C-версиях. Что лучше выбрать? В табл. 9.3
перечислены некоторые преимущества устройств I 2C и SPI. В конечном счете, выбор устройства зависит от конкретной ситуации. Большинство начинающих считают, что работать с устройствами SPI легче, чем с устройствами I 2C.
Таблица 9.3. Сравнение протоколов SPI и I 2C
Преимущества SPI
|
Преимущества I 2C
|
Может работать на более высокой скорости
|
Для организации обмена требуется только две линии
|
Легче программируется
|
Имеет аппаратную поддержку Arduino
|
Не требует подтягивающих резисторов
|
|
Имеет аппаратную поддержку Arduino
|
|
9.4. Подключение цифрового потенциометра SPI
Теперь пора применить полученные знания на практике. Рассмотрим устройство управления яркостью светодиодов с помощью цифрового потенциометра ( кратко называемого digipot). В данном примере используем микросхему SPI цифрового потенциометра МСР4231 10ЗЕ. Доступно несколько вариантов данного чипа с различным значением сопротивления. Как и обычный потенциометр, цифровой имеет регулируемый вывод, который определяет сопротивление между двумя выводами микросхемы. Микросхема МСР4231 содержит два потенциометра на одном корпусе. Разрядность каждого из них составляет 7 бит, что определяет 128 значений в диапазоне от 0 до 10 кОм. Сначала с помощью цифрового потенциометра будем менять яркость свечения светодиода, а затем используем digipot для регулировки громкости динамика. Завершив эти два проекта, вы получите основу для реализации более сложных конструкций.
9.4.1. Техническое описание МСР4231
Прежде всего, следует изучить техническое описание микросхемы МСР4231, которое можно найти через поисковую систему Google. Ссылки на техническое опи-
- 191 -
сание для МСР4231 присутствуют на странице www.exploringarduino.com/content/ch9.
В техническом описании можно найти ответы на следующие вопросы:
• цоколевка микросхемы;
• какие выводы являются управляющими;
• как регулируется в данной микросхеме сопротивление потенциометра;
• какие команды SPI необходимы, чтобы управлять двумя потенциометрами.
Чтобы найти ответы на эти вопросы, на рис. 9.2-9.4 приведены некоторые важные фрагменты технического описания. Прежде всего, взгляните на цоколевку микросхемы МСР4231, изображенную на рис. 9.2.
Рис. 9.2. Цоколевка микросхемы МСР4231
При подготовке к работе с новым устройством необходимо сначала разобраться с назначением контактов. Вот назначение выводов МСР4231:
• РОА, POW и РОВ -выводы первого потенциометра;
• PIA, PIW и PIB-выводы второго потенциометра;
• VDD -вывод питания микросхемы 5 В;
• VSS -вывод подключения к земле;
• CS-контакт SS для интерфейса SPI, черта сверху означает, что активный уровень низкий (0 В -чип выбран, 5 В -не выбран);
• SDI и SDO - контакты последовательного ввода и вывода данных ( соответствуют MOSI и MISO);
• SCK -линия синхронизации SPI;
• SHDN и WP -контакты для выключения и защиты от записи, соответственно.
Для МСР4231 контакт WP не задействован и его можно игнорировать. Активный уровень на контакте SHDN низкий, как и на выводе CS. При низком уровне средний вывод потенциометра отключен. Чтобы потенциометр был всегда включен, необходимо соединить контакт SHDN непосредственно с шиной 5 В.
Далее необходимо узнать полное сопротивление потенциометра и сопротивление среднего вывода. Подобно обычному потенциометру, сопротивление между клеммами А и В в цифровом тоже постоянно. Средний вывод также имеет собственное
- 192 -
сопротивление, и это нужно принимать во внимание. Обратимся к пятой странице технического описания (рис. 9.3).
Прежде всего, выясним полное сопротивление потенциометра, обозначаемое R д в,
Доступны четыре варианта этого чипа, каждый с разным значением сопротивления (от 5 до 100 кОм). Далее используем вариант 103, сопротивление которого составляет примерно 10 кОм. Важно отметить, что цифровые потенциометры, как правило, имеют довольно большой разброс (из рис. 9.3 видно, что фактическое сопротивление может изменяться на ±20% ). Также следует отметить, что собственное сопротивление среднего вывода потенциометра составляет от 75 до 160 Ом. Это сопротивление нужно учитывать, особенно при управлении динамиком или светодиодом.
Читать дальше