<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://wiki.me-robotics.ru/index.php?action=history&amp;feed=atom&amp;title=SPI</id>
	<title>SPI - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.me-robotics.ru/index.php?action=history&amp;feed=atom&amp;title=SPI"/>
	<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=SPI&amp;action=history"/>
	<updated>2026-07-10T21:10:15Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.35.2</generator>
	<entry>
		<id>http://wiki.me-robotics.ru/index.php?title=SPI&amp;diff=452&amp;oldid=prev</id>
		<title>Ольга Александрова: Новая страница: «== SPI -Serial Peripheral Interface ==   &#039;&#039;&#039;&#039;&#039;SPI&#039;&#039;&#039;&#039;&#039; - (&#039;&#039;&#039;&#039;&#039;S&#039;&#039;&#039;erial &#039;&#039;&#039;P&#039;&#039;&#039;eripheral &#039;&#039;&#039;I&#039;&#039;&#039;nterface&#039;&#039;) эспиай, последовательный пер...»</title>
		<link rel="alternate" type="text/html" href="http://wiki.me-robotics.ru/index.php?title=SPI&amp;diff=452&amp;oldid=prev"/>
		<updated>2021-06-01T15:58:16Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «== SPI -Serial Peripheral Interface ==   &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;SPI&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; - (&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;S&amp;#039;&amp;#039;&amp;#039;erial &amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039;eripheral &amp;#039;&amp;#039;&amp;#039;I&amp;#039;&amp;#039;&amp;#039;nterface&amp;#039;&amp;#039;) эспиай, последовательный пер...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== SPI -Serial Peripheral Interface ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;SPI&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; - (&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;S&amp;#039;&amp;#039;&amp;#039;erial &amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039;eripheral &amp;#039;&amp;#039;&amp;#039;I&amp;#039;&amp;#039;&amp;#039;nterface&amp;#039;&amp;#039;) эспиай, последовательный периферийный интерфейс иногда называемый 4-х проводным интерфейсом, является последовательным синхронным интерфейсом передачи данных. Изобретён компанией &amp;#039;&amp;#039;Motorola&amp;#039;&amp;#039; в середине 1980-x. В отличие от I2C и UART, SPI требует больше сигналов для работы, но может работать на более высоких скоростях. Не поддерживает адресацию, вместо этого используется сигнал &amp;#039;&amp;#039;&amp;#039;SS&amp;#039;&amp;#039;&amp;#039; (slave select - выбор ведомого), который также иногда называется CS (chip select), CE (chip enable) или SE (slave enable). Поддерживает только одного ведущего на шине. Ведущий устанавливает скорость обмена данными и другие параметры, такие как полярность и фаза тактирования. Обмен данными происходит в режиме полного дуплекса, что означает устройства на шине могут одновременно передавать и принимать данные. Интерфейс использует следующие сигналы (в номенклатуре AVR, для получения точного названия сигналов обратитесь к технической документации микросхемы, с которой работаете):&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;MISO&amp;#039;&amp;#039;&amp;#039; (master in slave out) - вход ведущего, выход ведомого&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;MOSI&amp;#039;&amp;#039;&amp;#039; (master out slave in) - выход ведущего, вход ведомого&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SCK&amp;#039;&amp;#039;&amp;#039; (serial clock) - сигнал тактирования&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SS&amp;#039;&amp;#039;&amp;#039; (slave select) - сигнал выбор ведомого.&lt;br /&gt;
&lt;br /&gt;
Несмотря на то, что интерфейс называется 4-х проводным, для подключения нескольких ведомых понадобится по одному проводу &amp;#039;&amp;#039;&amp;#039;SS&amp;#039;&amp;#039;&amp;#039; для каждого ведомого (в полнодуплексной реализации). Сигналы MISO, MOSI и SCK являются общими для всех устройств на шине. Ведущий посылает сигнал SS для того ведомого, обмен данными с которым будет осуществляться. Простыми словами, все ведомые, кроме выбранного ведущим будут игнорировать данные на шине. &amp;#039;&amp;#039;&amp;#039;SS&amp;#039;&amp;#039;&amp;#039; является инверсным (active-low), что означает что ведущему необходимо &amp;#039;&amp;#039;прижать&amp;#039;&amp;#039; эту линию для выбора ведомого.&lt;br /&gt;
&lt;br /&gt;
== Подключение: ==&lt;br /&gt;
[[Файл:1200px-SPI three slaves.svg.png|651x651пкс]]&lt;br /&gt;
&lt;br /&gt;
== SPI на Arduino: ==&lt;br /&gt;
&lt;br /&gt;
=== Arduino UNO/Piranha UNO/Arduino ULTRA ===&lt;br /&gt;
На Arduino UNO/Piranha UNO/Arduino ULTRA выводы аппаратного SPI расположены на 10, 11, 12 и 13 выводах, а так же эти выводы соединены с колодкой ICSP (in circuit serial programmer):&lt;br /&gt;
[[Файл:23.png|717x717пкс]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Сигнал&lt;br /&gt;
!Вывод&lt;br /&gt;
|-&lt;br /&gt;
|SS&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|MOSI&lt;br /&gt;
|11&lt;br /&gt;
|-&lt;br /&gt;
|MISO&lt;br /&gt;
|12&lt;br /&gt;
|-&lt;br /&gt;
|SCK&lt;br /&gt;
|13&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Arduino MEGA ==&lt;br /&gt;
&lt;br /&gt;
=== Arduino MEGA ===&lt;br /&gt;
На Arduino MEGA выводы аппаратного SPI расположены на 50, 51, 52 и 53 выводах, а так же эти выводы соединены с колодкой ICSP (in circuit serial programmer):&lt;br /&gt;
&lt;br /&gt;
[[Файл:31.png|594x594пкс]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Сигнал&lt;br /&gt;
!Вывод&lt;br /&gt;
|-&lt;br /&gt;
|SS&lt;br /&gt;
|53&lt;br /&gt;
|-&lt;br /&gt;
|MOSI&lt;br /&gt;
|51&lt;br /&gt;
|-&lt;br /&gt;
|MISO&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|SCK&lt;br /&gt;
|52&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Пример для Arduino ===&lt;br /&gt;
В этих примерах мы соединим две Arduino по SPI по следующей схеме:&lt;br /&gt;
&lt;br /&gt;
[[Файл:4.png|663x663пкс]]&lt;br /&gt;
&lt;br /&gt;
В одну плату необходимо загрузить скетч ведущего, а в другую скетч ведомого. Для проверки работы необходимо открыть проследовательный монитор той платы, в которую загружен скетч ведомого.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Arduino UNO в качестве ведущего:&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Файл:5.png]]&lt;br /&gt;
&lt;br /&gt;
[[Файл:66.png]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Arduino UNO в качестве ведомого:&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Файл:789.png]]&lt;br /&gt;
&lt;br /&gt;
[[Файл:81.png]]&lt;br /&gt;
&lt;br /&gt;
[[Файл:91.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
После соединения двух Arduino по SPI и загрузки соответствующих скетчей, мы будем получать следующее сообщение в мониторе последовательного порта ведомого микроконтроллера раз в секунду:&lt;br /&gt;
 &amp;lt;code&amp;gt;Hello, World!&lt;br /&gt;
 long integer over SPI is: 168496141&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Ольга Александрова</name></author>
	</entry>
</feed>