Mio-tech-service.ru

Автомобильный журнал
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Spi двигатель что это такое

Serial Peripheral Interface

SPI (англ. Serial Peripheral Interface, SPI bus — последовательный периферийный интерфейс, шина SPI) — последовательный синхронный стандарт передачи данных в режиме полного дуплекса, предназначенный для обеспечения простого и недорогого высокоскоростного сопряжения микроконтроллеров и периферии. SPI также иногда называют четырёхпроводным (англ. four-wire ) интерфейсом.

В отличие от стандартного последовательного порта (англ. standard serial port ), SPI является синхронным интерфейсом, в котором любая передача синхронизирована с общим тактовым сигналом, генерируемым ведущим устройством (процессором). Принимающая (ведомая) периферия синхронизирует получение битовой последовательности с тактовым сигналом. К одному последовательному периферийному интерфейсу ведущего устройства-микросхемы может присоединяться несколько микросхем. Ведущее устройство выбирает ведомое для передачи, активируя сигнал «выбор кристалла» (англ. chip select ) на ведомой микросхеме. Периферия, не выбранная процессором, не принимает участия в передаче по SPI.

Spi двигатель что это такое

Данная библиотека позволяет Ардуино взаимодействовать с различными SPI-устройствами, выступая при этом в роли ведущего устройства.

Краткое введение в интерфейс SPI (Serial Peripheral Interface)

Последовательный периферийный интерфейс (SPI) — это синхронный протокол последовательной передачи данных, используемый для связи микроконтроллера с одним или несколькими периферийными устройствами. Интерфейс SPI отличается относительно высокой скоростью и предназначен для связи близко расположенных устройств. Он также может использоваться для взаимодействия двух микроконтроллеров.

Согласно протоколу SPI, одно из взаимодействующих устройств (обычно микроконтроллер) всегда является ведущим и контролирует ведомые периферийные устройства. Как правило, все взаимодействющие устройства объединены тремя общими линиями:

  • MISO (Master In Slave Out) — линия для передачи данных от ведомого устройства (Slave) к ведущему (Master),
  • MOSI (Master Out Slave In) — линия для передачи данных от ведущего устройства (Master) к ведомым (Slave),
  • SCK (Serial Clock) — тактовые импульсы, генерируемые ведущим устройством (Master) для синхронизации процесса передачи данных.

Помимо перечисленных, на каждое устройство отводится отдельная линия:

  • SS (Slave Select) — вывод, присутствующий на каждом ведомом устройстве. Он предназначен для активизации Мастером того или иного периферийного устройства.

Периферийное устройство (Slave) взаимодействует с ведущим (Master) тогда, когда на выводе SS присутствует низкий уровень сигнала. В противном случае данные от Master-устройства будут игнорироваться. Такая архитектура позволяет взаимодействовать с несколькими SPI-устройствами, подключенными к одной и той же шине: MISO, MOSI и SCK.

Перед тем, как отправлять данные новому SPI-устройству, необходимо выяснить о нем несколько основных моментов:

  • Сдвиг данных должен осуществляться, начиная со старшего бита (MSB) или с младшего бита (LSB)? Порядок следования данных контролируется функцией SPI.setBitOrder().
  • При отсутствии тактовых импульсов линия SCK должна находиться в высоком или низком уровне? Считывание данных происходит по фронту или по спаду тактового импульса? Эти режимы работы контролируются функцией SPI.setDataMode().
  • Какова должна быть скорость передачи данных по SPI? Этот параметр контролируется функцией SPI.setClockDivider().

Поскольку стандарт SPI является открытым, его реализация в разных устройствах может немного отличаться. Поэтому при написании программ, особое внимание необходимо уделять даташиту того или иного устройства.

Грубо говоря, существует четыре режима передачи данных, отличающиеся условием сдвига данных (по фронту или по спаду синхро-импульсов — так называемая фаза), а также уровнем сигнала, в котором должна находится линия SCK при отсутствии синхро-импульсов (полярность). Различные комбинации фазы и полярности, формирующие четыре режима передачи данных, сведены в таблицу:

РежимПолярность (CPOL)Фаза (CPHA)
SPI_MODE0
SPI_MODE11
SPI_MODE21
SPI_MODE311

Для изменения режима передачи данных служит функция SPI.setDataMode().

Каждое SPI-устройство налагает определенные ограничения на максимальную скорость SPI-шины. Для корректной работы периферийных устройств в библиотеке предусмотрена функция SPI.setClockDivider(), позволяющая изменять тактовую частоту шины (по умолчанию 4 МГц).

После правильной настройки всех параметров SPI, останется только выяснить, какие регистры периферийного устройства отвечают за те или иные его функции. Как правило, это описано в даташите устройства.

Для получения дополнительной информации об интерфейсе SPI, см. страницу Википедии.

Соединения

Ниже в таблице приведены номера выводов, использующиеся шиной SPI в тех или иных моделях Ардуино:

Плата ArduinoMOSIMISOSCKSS (slave)SS (master)
Uno или Duemilanove11 или ICSP-412 или ICSP-113 или ICSP-310
Mega1280 или Mega256051 или ICSP-450 или ICSP-152 или ICSP-353
LeonardoICSP-4ICSP-1ICSP-3
DueICSP-4ICSP-1ICSP-34, 10, 52

Обратите внимание, что на всех платах выводы MISO, MOSI и SCK соединены с одними и теми же контактами разъема ICSP. Такое расположение может быть удобно при создании универсальных плат расширения, работающих на всех моделях Ардуино.

Особенности работы вывода SS в Ардуино на базе AVR

У всех моделей Ардуино на основе микроконтроллеров AVR есть вывод SS, который используется в режиме работы Slave (например, при управлении Ардуино внешним ведущим устройством). Однако, в библиотеке реализован только режим работы Master, поэтому в этом режиме вывод SS должен быть сконфигурирован как выход. В противном случае SPI может аппаратно переключиться в режим Slave, что приведет к неработоспособности функций библиотеки.

Для управления выводом SS периферийных устройств можно использовать любой из доступных выводов. Например, на плате расширения Arduino Ethernet для взаимодействия со встроенной SD-картой и контроллером Ethernet по SPI используются выводы 4 и 10 соответственно.

Расширенные возможности SPI на Arduino Due

Существуют некоторые особенности работы с интерфейсом SPI на платах Arduino Due. Помимо основных функций и методов, применимых ко всем платам Ардуино, в библиотеке SPI предусмотрено несколько дополнительных методов. Эти методы реализовывают аппаратные возможности микроконтроллеров SAM3X и предоставляют разработчику расширенные возможности:

  • автоматический управление процессом выбора ведомого устройства;
  • автоматическое управление конфигурациями интерфейса SPI для различных устройств (тактовая частота, режим передачи данных и т.д.). Благодаря этому каждое из ведомых устройств может иметь собственный набор настроек, автоматически применяемых в начале передачи.
Читать еще:  Что такое фарсировка двигателя

В Arduino Due есть три отдельных вывода (4, 10 и 52) для управления линиями SS периферийных устройств.

SPI на Raspberry Pi

На Raspberry Pi выводы аппаратного SPI расположены на выводах GPIO7, GPIO8, GPIO9, GPIO10, GPIO11:

Перед работой с SPI необходимо его включить. Сделать это можно из эмулятора терминала командой sudo raspi-config -> Interfacing options -> Serial -> No -> Yes -> OK -> Finish или из графической среды в главном меню -> Параметры -> Raspberry Pi Configuration -> Interfaces -> SPI

Подробное описание как это сделать можно посмотреть по ссылке Raspberry Pi, включаем I2C, SPI

Пример работы с SPI на Python:

В отличие от Arduino для Raspberry не существует простых решений для работы в режиме ведомого. Подробней ознакомиться с работой чипа BCM Raspberry можно в технической документации на официальном сайте, стр. 160.

Для проверки работы сценария можно подключить Raspberry по SPI к Arduino со скетчем из примера выше через преобразователь уровней или Trema+Expander Hat:

Возможности и характеристики

Шина SPI (последовательного периферийного интерфейса) обеспечивает полнодуплексную синхронную связь между ведущим и ведомым устройствами, используя четыре линии данных.

Базовая конфигурация ведущий-ведомый

SPI (последовательный периферийный интерфейс) позволяет битам данных перемещаться из ведущего устройства в ведомое, и в это же время биты могут перемещаться из ведомого устройства в ведущее.

Анимация 1 показывает данные, перемещаемые из микросхемы A в микросхему B, и из микросхемы B в микросхему A Анимация 2 показывает диаграмму виртуального 4-канального осциллографа, отображающую SPI передачу между двумя микросхемами

Так как SPI не стандартизирован, можно столкнуться с ситуациями, когда сначала передается старший значащий бит (MSB, Most Significant Bit) или младший значащий бит (LSB, Least Significant Bit). Проверьте техническое описание вашего устройства и настройте соответствующим образом ваши функции обработки данных. Если вы используете Arduino, то можете обраться к описанию библиотеки SPI о настройке SPI порта.

Полярность и фаза тактового сигнала

Переходы тактового сигнала регулируют сдвиг и выборку данных. SPI имеет четыре режима (0, 1, 2, 3), которые соответствуют четырем возможным конфигурациям синхронизации.

Биты, которые выбираются при нарастающем фронте тактового сигнала, сдвигаются при спадающем фронте тактового сигнала, и наоборот.

Каждая передача начинается, когда линия выбора ведомого приводится уровню логического нуля (выбор ведомого обычно является сигналом с активным низким уровнем). Точная взаимосвязь между линиями выбора ведомого, данных и тактового сигнала зависит от конфигурации полярности тактового сигнала (CPOL) и фазы тактового сигнала (CPHA).

При неинвертированной полярности тактового сигнала (то есть, тактовый сигнал находится в состоянии низкого логического уровня, когда выбор ведомого переходит на низкий логический уровень):

  • Режим 0: Фаза тактового сигнала сконфигурирована таким образом, что данные выбираются по нарастающему фронту тактового импульса и сдвигаются по спадающему фронту тактового импульса. Это соответствует первой синей диаграмме тактового сигнала на рисунке выше. Обратите внимание, что данные должны быть доступны до первого нарастающего фронта тактового сигнала.
  • Режим 1: Фаза тактового сигнала сконфигурирована таким образом, что данные выбираются по спадающему фронту тактового импульса и сдвигаются по нарастающему фронту тактового импульса. Это соответствует второй синей диаграмме тактового сигнала на рисунке выше.

При инвертированной полярности тактового сигнала (то есть, тактовый сигнал находится в состояние высокого логического уровня, когда выбор ведомого переходит в низкий логический уровень):

  • Режим 2: Фаза тактового сигнала сконфигурирована таким образом, что данные выбираются по спадающему фронту тактового импульса и сдвигаются по нарастающему фронту тактового импульса. Это соответствует первой оранжевой диаграмме тактового сигнала на рисунке выше. Обратите внимание, что данные должны быть доступны до первого спадающего фронта тактового сигнала.
  • Режим 3: Фаза тактового сигнала сконфигурирована таким образом, что данные выбираются по нарастающему фронту тактового импульса и сдвигаются по спадающему фронту тактового импульса. Это соответствует второй оранжевой диаграмме тактового сигнала на рисунке выше.

6 «Бегущая волна» из светодиодов

Поделиться

Похожие материалы (по тегу)

  • Как подключить панель со светодиодами WS2812 (WS2812B)
  • Как сделать электронный компас на датчике MPU-9250 и Arduino
  • Как подключить LED-панель 95×8 к Arduino
  • Реализация интерфейса SPI с помощью библиотеки CH341DLL на VB.NET
  • Реализация SPI: библиотека libMPSSE и .NET

Последнее от .aave.

  • Как провести моделирование с помощью ModelSim — Altera
  • Как прочитать билет на метро и автобус с помощью Arduino
  • Как провести симуляцию сигнала в Simulation Waveform Editor
  • Что такое Arduino и что с ним можно сделать
  • Как подключить к Arduino модуль Bluetooth

Другие материалы в этой категории:

8 комментарии

Даешь статью про каскадное подключение. Мне прямо очень надо! Спасибо!)))

Алекс, обязательно. Просто сейчас совсем нет времени это.

По поводу розовых и голубых вертикальных линий: очевидно, что розовый цвет отражает передний фронт тактового импульса, а голубой — задний фронт. Не очевидно то, что они вводят читателя в заблуждение. Блуд в том, что в данном применении они извращают понимание фазы. Считывание (latch) текущего бита всегда происходит по фронту импульса: при фазе 0 — по переднему, а при фазе 1 — по заднему. В каждом цикле обработки текущего бита моменту отсечки (latch) ВСЕГДА ПРЕДШЕСТВУЕТ (на половину тактового сигнала) момент выдачи бита (shift). Передний фронт тактового сигнала (в SPI) не его начало, а его середина. Комплект цветных линий на рисунке разумен для режима передачи (mode) SPI 1 и 3. Для режима 0 и 2 весь этот комплект линий должен быть смещён на пол такта влево.

Читать еще:  Что такое двигатель tdi dpf

Хочу обратить внимание читателей на то, что для прояснения принципа функционирования SPI, автором данной странички представлен рисунок белиберды под названием «Временная диаграмма работы интерфейса SPI».
Что там не так:
1. передаются 8 бит — значит и импульсов SCLK должно быть 8, а на рисунке их 9 с гаком;
2. моментов представления текущих битов (на рисунке «скрещивание» MOSI) должно быть 8, а их 9;
3. принципиально — SPI СИНХРОННАЯ передача, поскольку начало передачи на рисунке соответствует mode0, то отсечка (latch) каждого передаваемого бита должна происходить по переднему фронту импульса (середина текущего такта), а представление текущего бита (shift) — в момент начала текущего такта SCLK.
На рисунке синхронность процесса передачи отсутствует.

Михаил, большое спасибо за замечания! Заменил иллюстрацию, на которой изображена временная диаграмма SPI.

Если на клетке слона прочтёшь надпись «буйвол», не верь глазам своим. Применительно к SPI, в клетке находится SS, а надпись на клетке — «Slave Select». На самом деле, SS — синхронизация сеанса обмена данными. Синхронизация сеанса об мена данными — это единственная и неотъемлемая роль SS в протоколе интерфейса SPI. Физически SS представляет собой импульс. Передний фронт этого импульса — старт, начало общения Управляющего и Управляемого, а задний фронт — конец общения, начало осмысления. Следует отметить, что импульс SS особенно важен для Управляющего т.к. по переднему фронту импульса SS Управляющий начинает генерировать тактовые сигналы SCLK, каждый из которых синхронизирует обмен одного бита данных.
Предвидя то, что среди читающих мои строки найдутся непримиримые, укориенелые сторонники «Slave Select», потряхивающие картинкой «Один мастер и три слэйва», хочу их успокоить: — ) В нашей стране извращения не запрещен. Более того, а не пора ли перейти к картинке «Три мастера один слэйв»? Прошу детей к этому не привлекать.

Поменял «шило на мыло». И в предыдущий рисунок демонстрировал отсутствие синхронизации, и текущий рисунок нагло демонстрирует отсутствие синхронизации. Нарочито моменты смены значения текущего передаваемого бита (shift) не синхронизированы.

Схема проекта для последовательной связи между двумя платами Arduino по протоколу SPI представлена на следующем рисунке.

Внешний вид собранной конструкции проекта на макетных платах представлен на следующем рисунке.

Преимущества и недостатки интерфейса SPI [ | ]

Преимущества [ | ]

  • Полнодуплексная передача данных по умолчанию.
  • Более высокая пропускная способность по сравнению с I²C или SMBus.
  • Возможность произвольного выбора длины пакета, длина пакета не ограничена восемью битами.
  • Простота аппаратной реализации:
    • более низкие требования к энергопотреблению по сравнению с I²C и SMBus;
    • возможно использование в системах с низкостабильной тактовой частотой;
    • ведомым устройствам не нужен уникальный адрес, в отличие от таких интерфейсов, как I²C, GPIB или SCSI.
  • Используется только четыре вывода, что гораздо меньше, чем для параллельных интерфейсов.
  • Однонаправленный характер сигналов позволяет при необходимости легко организовать гальваническую развязку между ведущим и ведомыми устройствами.
  • Максимальная тактовая частота ограничена только быстродействием устройств, участвующих в обмене данными.

Недостатки [ | ]

  • Необходимо больше выводов, чем для интерфейса I²C.
  • Ведомое устройство не может управлять потоком данных.
  • Нет подтверждения приема данных со стороны ведомого устройства (ведущее устройство может передавать данные «в никуда»).
  • Нет определенного стандартом протокола обнаружения ошибок.
  • Отсутствие официального стандарта, что делает невозможным сертификацию устройств.
  • По дальности передачи данных интерфейс SPI уступает таким стандартам, как UART и CAN.
  • Наличие множества вариантов реализации интерфейса.
  • Отсутствие поддержки горячего подключения устройств.

—>AVR & ARDUINO —>

Библиотека SPI позволяет плате Arduino взаимодействовать с устройствами поддерживающими SPI протокол. Arduino в данном случае выступает в качестве ведущего устройства.

Описание SPI (Serial Peripheral Interface)

Последовательный периферийный интерфейс (SPI — Serial Peripheral Interface) — это синхронный протокол последовательной передачи данных, используемый для связи микроконтроллера с одним или несколькими периферийными устройствами. Интерфейс SPI отличается относительно высокой скоростью и предназначен для связи близко расположенных устройств. Он также может использоваться для взаимодействия двух микроконтроллеров. SPI также иногда называют четырёхпроводным интерфейсом.

Для организации соединения SPI необходимо одно ведущее устройство ( обычно это микроконтроллер) которое управляет соединением с ведомыми устройствами. Как правило, все взаимодействующие устройства объединены тремя общими линиями:

  • MOSI (Master Out Slave In) — выход ведущего, вход ведомого. Служит для передачи данных от ведущего устройства ведомому.
  • MISO (Master In Slave Out) — вход ведущего, выход ведомого . Служит для передачи данных от ведомого устройства ведущему.
  • SCLK (Serial Clock) — последовательный тактовый сигнал. Служит для передачи тактового сигнала от ведущего устройства ведомым устройствам с целью синхронизации процесса передачи данных.

Помимо перечисленных, на каждое устройство обычно отводится отдельная линия:

  • SS (Slave Select) — контакт, присутствующий на каждом ведомом устройстве. Он предназначен для активизации ведущим того или иного периферийного устройства.

Линия SS обычно для каждого ведомого своя, но некоторых ведомых возможно подключить к одной SS — такой способ используется для каскадного подключения устройств (кольцевая схема).

Типичный алгоритм работы SPI

  • Master устанавливает низкий уровень на той линии SS, к которой подключен нужный Slave.
  • Master задаёт такт, генерируя импульсы синхронизации, на SCLK, и одновременно с каждым импульсом SCLK выставляет нужный уровень на MOSI, передавая Slave по биту за такт.
  • Slave на каждый импульс SCLK выставляет нужный уровень на MISO, передавая Master по биту за такт.
  • Для завершения передачи Master устанавливает высокий уровень на SS.
Читать еще:  Двигатель бмв м40 как работает

Регистры SPI:

Регистр управления

Ниже описаны значения восьми бит регистра управления интерфейса SPI.

  • Биты 0 и 1: SPR0 и SPR1 (SPI Clock Rate Select) — выбор частоты тактового сигнала. Биты предназначены для управления тактовой частотой, что актуально только для ведущего устройства.
  • Бит 2: CPHA (Clock Phase) — фаза тактового сигнала.
  • Бит 3: CPOL ( Clock Polarity) — полярность тактового сигнала.
  • Бит 4: MSTR (Master/Slave Select) — выбор режима «ведущий/ведомый». Установка бита в 1 переводит устройство в режим ведущего, установка бита в 0 — в режим ведомого.
  • Бит 5: DORD (Data Order) — порядок данных. Бит управляет порядком передачи данных (с бита 0 или с бита 7).
  • Бит 6: SPE (SPI Enable) — разрешение работы SPI. Установка бита в 1 разрешает работу интерфейса, сигналы от порта подключаются к внешним линиям связи интерфейса.
  • Бит 7: SPIE (SPI Interrupt Enable) — разрешение прерывания от SPI.

Регистр статуса

Ниже описаны значения восьми бит регистра статуса интерфейса SPI.

  • Биты 0…5 — зарезервированы, всегда установлены в 0.
  • Бит 6: WCOL ( Write Collision Flag) — флаг ошибки при записи. Бит устанавливается в 1 при записи в регистр в ходе обмена последовательными данными. Бит сбрасывается в 0 при чтении регистра статуса.
  • Бит 7: SPIF (SPI Interrupt Flag) — флаг прерывания SPI. Бит устанавливается в 1 при завершении обмена данными. Бит сбрасывается в 0 при считывании данных из буфера регистра данных.

Режимы работы интерфейса SPI

Возможны четыре комбинации фазы (CPHA) и полярности (CPOL) сигнала SCLK по отношению к сигналам данных. Режимы работы определяются комбинацией бит CPHA и CPOL:

  • CPOL = 0 — сигнал синхронизации начинается с низкого уровня;
  • CPOL = 1 — сигнал синхронизации начинается с высокого уровня;
  • CPHA = 0 — выборка данных производится по переднему фронту сигнала синхронизации;
  • CPHA = 1 — выборка данных производится по заднему фронту сигнала синхронизации.

Перед тем, как отправлять данные новому SPI-устройству, необходимо выяснить о нем несколько основных моментов:

  • Какой порядок вывода данных используется: сдвиг данных должен осуществляться, начиная со старшего бита (MSB) или с младшего бита (LSB)? Порядок следования данных контролируется функцией SPI.setBitOrder().
  • При отсутствии тактовых импульсов линия SCK должна находиться в высоком (HIGH) или низком (LOW) уровне?
  • Считывание данных происходит по фронту или по спаду тактового импульса? Эти режимы работы контролируются функцией SPI.setDataMode().
  • Какова должна быть скорость передачи данных по SPI? Этот параметр контролируется функцией SPI.setClockDivider().

Поскольку стандарт SPI является открытым, его реализация в разных устройствах может немного отличаться. Поэтому при написании программ, особое внимание необходимо уделять техническому описанию того или иного устройства.

Существует четыре режима передачи данных, отличающиеся условием сдвига данных (по фронту или по спаду синхро-импульсов — так называемая фаза), а также уровнем сигнала, в котором должна находится линия SCK при отсутствии синхро-импульсов (полярность). Различные комбинации фазы и полярности, формирующие четыре режима передачи данных, сведены в таблицу:

РежимПолярность (CPOL)Фаза (CPHA)
SPI_MODE0
SPI_MODE11
SPI_MODE21
SPI_MODE311

Для изменения режима передачи данных служит функция SPI.setDataMode().

Каждое SPI-устройство налагает определенные ограничения на максимальную скорость SPI-шины. Для корректной работы периферийных устройств в библиотеке предусмотрена функция SPI.setClockDivider(), позволяющая изменять тактовую частоту шины (по умолчанию 4 МГц).

После правильной настройки всех параметров SPI, останется только выяснить, какие регистры периферийного устройства отвечают за те или иные его функции. Как правило, это описано в техническом описании (datasheet) устройства.

Подключение

Ниже в таблице приведены номера выводов, использующиеся шиной SPI в тех или иных моделях платах Arduino:

Плата ArduinoMOSIMISOSCKSS (slave)SS (master)
Uno или Duemilanove11 или ICSP-412 или ICSP-113 или ICSP-310
Mega1280 или Mega256051 или ICSP-450 или ICSP-152 или ICSP-353
LeonardoICSP-4ICSP-1ICSP-3
DueICSP-4ICSP-1ICSP-34, 10, 52

Обратите внимание, что на всех платах выводы MISO, MOSI и SCK соединены с одними и теми же контактами разъема ICSP. Такое расположение может быть удобно при создании универсальных плат расширения, работающих на всех моделях плат Arduino.

Замечание о работе контакта SS в платах на базе AVR

У всех моделей Arduino на основе микроконтроллеров AVR есть вывод SS, который используется в режиме работы Slave (т,е, если Ардуино управляется внешним Мастером). Однако, в данной библиотеке реализован только режим работы Master, поэтому в этом режиме вывод SS должен быть сконфигурирован как выход (OUTPUT). В противном случае SPI может аппаратно переключиться в режим Slave, что приведет к неработоспособности функций библиотеки.

Тем не менее, в качестве SS для устройства можно использовать любой из доступных контактов. Например, на плате расширения Arduino Ethernet для взаимодействия со встроенной SD-картой и контроллером Ethernet по SPI используются выводы 4 и 10 соответственно.

Расширенные возможности SPI на Arduino Due

Существуют некоторые особенности работы с интерфейсом SPI на платах Arduino Due. Помимо основных функций и методов, применимых ко всем платам Ардуино, в библиотеке SPI предусмотрено несколько дополнительных методов. Эти методы реализовывают аппаратные возможности микроконтроллеров SAM3X и предоставляют разработчику расширенные возможности:

  • автоматический управление процессом выбора ведомого устройства;
  • автоматическое управление конфигурациями интерфейса SPI для различных устройств (тактовая частота, режим передачи данных и т.д.). Благодаря этому каждое из ведомых устройств может иметь собственный набор настроек, автоматически применяемых в начале передачи.

В Arduino Due есть три отдельных вывода (4, 10 и 52) для управления линиями SS периферийных устройств.

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector