Интерфейс SPI (англ. Serial Peripheral Interface, SPI bus — последовательный периферийный интерфейс, шина SPI) — это последовательный четырёх-проводной интерфейс передачи данных, предназначенный для обеспечения простого и недорогого высокоскоростного сопряжения микроконтроллеров и периферии.
Сколько SPI портов на Orange Pi
Если брать классический Orange Pi с GPIO на 40 пин, то мы имеем полтора SPI порта. Смотрим распиновку Orange Pi PC:
отсюда видно, что на гребёнке только один полноценный SPI порт — это SPI0.
Номер пина CPU | SPI0 |
---|---|
PC0 | MOSI |
PC1 | MISO |
PC2 | CLK |
PC3 | CS |
Порт SPI1 присутствует только в виде CLK и CS, что явно недостаточно. Если открыть документ-схему платы, то мы обнаружим следующее:
Номер пина CPU | SPI1 |
---|---|
PA13 | CS |
PA14 | CLK |
PA15 | MOSI |
PA16 | MISO |
MOSI идёт на индикатор состояния (STATUS-LED),
а MISO идёт на комбинированный разъём Mini-Jack 3.5 мм и отключает звук при подключении провода.
В таком случае, только если вы очень настойчив и вам «очень нужен» этот SPI1 порт, можете распаять светодиодный индикатор и разъём Mini-Jack 3.5 мм и припаять нужное вам устройство. Но это не рекомендуется делать.
Включение шины SPI на Orange Pi
По умолчанию шина SPI0 на Orange Pi отключена. Для включения выполните следующие действия.
Включение шины SPI на ядре 3.4 (Ubuntu 16.04)
Чтобы включить шину SPI на ядре 3.4, нужно редактировать script.bin
файл. script.bin — главный конфигурационный файл ядра использующийся при загрузке ОС на платах Orange Pi (и остальных, базирующихся на sunxi). Это скомпилированный бинарный файл, внесение правок в который — невозможно.
Файл создается при помощи утилиты fex2bin из набора sunxi-tools из текстового файла имя_файла.fex
.
- Не забывайте сделать резервную копию script.bin, чтобы смогли вернуть обратно все настройки, в случае не правильного редактирования файла:
sudo cp /boot/script.bin /boot/script.bak
- Декомпилируйте бинарный файл script.bin в редактируемый файл fex:
sudo bin2fex /boot/script.bin /boot/script.fex
- Теперь отредактируйте файл script.fex с помощью утилиты nano, но можете использовать и другой текстовый редактор, к примеру pluma:
sudo nano /boot/script.fex
- Теперь вам нужно перейти в раздел
[spi0]
или[spi1]
и включить интерфейс, изменив значение строкиspi_used
из «0» в «1»:spi_used = 1
В результате вы должны поличить примерно такой результат:
[spi0] spi_used = 1 spi_cs_bitmap = 1 spi_mosi = port:PC00<3><default><default><default> spi_miso = port:PC01<3><default><default><default> spi_sclk = port:PC02<3><default><default><default> spi_cs0 = port:PC03<3><1><default><default> [spi1] spi_used = 1 spi_cs_bitmap = 1 spi_cs0 = port:PA13<2><1><default><default> spi_sclk = port:PA14<2><default><default><default> spi_mosi = port:PA15<2><default><default><default> spi_miso = port:PA16<2><default><default><default>
Если вы планируете использовать только одну шину 0 (spi0), тогда выключите шину
[spi1]
, изменив значение строкиspi_used
из «1» в «0». - В разделе
[spi_devices]
вам нужно будет указать количество SPI шин, если вы планируете использовать только одну шину, просто введите 1:[spi_devices] spi_dev_num = 1
или 2, если нужны обе шины:
[spi_devices] spi_dev_num = 2
- Теперь нужно задать параметры последовательного периферийного интерфейса в разделе
[spi_board0]
:[spi_board0] modalias = "spidev" max_speed_hz = 33000000 bus_num = 0 chip_select = 0 mode = 0 full_duplex = 1 manual_cs = 0
а если надумали настроить и spi1, тогда добавьте раздел
[spi_board1]
.[spi_board1] modalias = "spidev" max_speed_hz = 33000000 bus_num = 1 chip_select = 0 mode = 0 full_duplex = 1 manual_cs = 0
главное, чтобы значения bus_num были разными: для
[spi_board0]
значениеbus_num = 0
, а для[spi_board1]
—bus_num = 1
. - Сохраните и закройте файл:
Ctrl+X, Y (Yes), Enter
- Компилируйте измененный script.fex в script.bin:
sudo fex2bin /boot/script.fex /boot/script.bin
- Перезагрузите систему:
sudo reboot
- Список SPI портов:
ls -l /dev/*spi*
Настройка SPI на ядре 3.4 с armbian-config
Редактировать .fex
файл можно и с помощью armbian-config
.
- Запустите armbian-config:
sudo armbian-config
- Выберите System — System and security settings:
- Выберите Fexedit — Board (fex) settings editor:
- Редактируйте SPI, как показано выше:
- Нажмите на < Save >, чтобы сохранить изменения.
- Перезагрузите систему.
sudo reboot
Включение шины SPI на ядре 4.14 (Ubuntu 18.04)
В ядре linux 4.14 Вам нужно редактировать не файл .fex
, а файл /boot/armbianEnv.txt
(на Armbian) или /boot/uEnv.txt
. Данные файлы можно редактировать в ручную и с помощью armbian-config, последний вариант подойдёт только для тех, у кого установлено ОС от Armbian.
- Отредактируйте файл
/boot/armbianEnv.txt
с помощью nano или другого текстового редактора.nano /boot/armbianEnv.txt
- Добавьте
spi-spidev
через пробел вoverlays
.overlays=w1-gpio uart1 i2c0 spi-spidev
- Добавьте, если отсутствуют, следующие параметры:
param_spidev_spi_bus=0 param_spidev_spi_cs=0cs=0 param_spidev_max_freq=1000000
- Вы должны получить примерно такой результат:
verbosity=1 console=serial overlay_prefix=sun8i-h3 rootdev=UUID=bd0ded76-1188-4b52-a20a-64f326c1f193 rootfstype=ext4 overlays=w1-gpio uart1 i2c0 spi-spidev param_w1_pin=PA20 param_w1_pin_int_pullup=1 param_uart1_rtscts=1 param_spidev_spi_bus=0 param_spidev_spi_cs=0 param_spidev_max_freq=1000000
- Сохраните файл:
Ctrl+X, Y (Yes), Enter
- Перезагрузите систему:
sudo reboot
sildenafilo cinfa 100 mg precio farmacia: sildenafilo 100mg precio espaГ±a — sildenafilo 100mg precio espaГ±a
gel per erezione in farmacia: le migliori pillole per l’erezione — cialis farmacia senza ricetta
pillole per erezione in farmacia senza ricetta: viagra originale in 24 ore contrassegno — pillole per erezione in farmacia senza ricetta
viagra online cerca de toledo: farmacia gibraltar online viagra — sildenafilo cinfa sin receta
comprar sildenafilo cinfa 100 mg espaГ±a: viagra online cerca de toledo — viagra para mujeres
Step Five Recap the needle and swap it out for the one you will use to inject yourself with 25g buy cialis online united states It has also been reported that cholesterol enriched lipid microdomains participate in crosstalk between mER and growth factor receptors 38
Online medicine order reputable indian online pharmacy buy medicines online in india
canadian pharmacy generic viagra: canadian mail order pharmacy — mail pharmacy
non prescription drugs — cheap drugs online list of canada online pharmacies
canada online pharmacies online pharmacy no prescription necessary list of mexican pharmacies
online pharmacies canadian — meds without a doctor s prescription canada list of canadian pharmacies
prescription drug discounts legitimate canadian mail order pharmacies canada pharmacy estrogen without prescription
online discount pharmacy — drugs without a doctor s prescription canadian rx pharmacy online
cialis vs viagra canadian pharmacy buy Tadalafil 20mg professional cialis
cialis side effects women Cialis without a doctor prescription cheapest cialis tadalafil 20 mg