Руководство пользователя Orange Pi Zero 2

  Описание    Запуск      ОС Линукс      SDK Линукс    ОС Андроид    SDK Андроид    Фото  

Глава 3. ОС Линукс - Linux OS
Страница:   11    12    13    14    15    16    17    18    19    20    21    22    23    24    25    37    38    39    41    42    44    45    46    47    48    50    52    53    54    55    56    57    58  

3.23. Тест 26-контактного разъема (26pins GPIO, I2C, UART, SPI test)

3.23.1. Описание 26-контактного разъема (26 Pins description)
  • 1) На рисунке ниже показана последовательность нумерации контактов.



  • 2) Функции 26 контактов платы разработки Orange Pi Zero 2 показаны в таблице ниже.

    № конт. | Функция | GPIO | (Сер. номер)


  • 1 3.3V
  • 2 5V
  • 3 TWI3-SDA PH5 (229)
  • 4 5V
  • 5 TWI3-SCK PH4 (228)
  • 6 GND
  • 7 PC9 PC9 (73)
  • 8 UART5_TX PH2 (226)
  • 9 GND
  • 10 UART5_RX PH3 (227)
  • 11 PC6 PC6 (70)
  • 12 PC11 PC11 (75)
  • 13 PC5 PC5 (69)
  • 14 GND
  • 15 PC8 PC8 (72)
  • 16 PC15 PC15 (79)
  • 17 3.3V
  • 18 PC14 PC14 (78)
  • 19 SPI1_MOSI PH7 (231)
  • 20 GND
  • 21 SPI1_MISO PH8 (232)
  • 22 PC7 PC7 (71)
  • 23 SPI1_CLK PH6 (230)
  • 24 SPI1_CS PH9 (233)
  • 25 GND
  • 26 PC10 PC10 (74)

    3.23.2. Установка wiringOP (Install wiringOP)
  • 1) WiringOP адаптирован к плате разработки Orange Pi Zero 2, с помощью wiringOP можно тестировать функции GPIO, I2C, UART и SPI.
  • 2) Скачайте код WiringOP

    root@orangepi:~# apt update root@orangepi:~# apt install git root@orangepi:~# git clone https://github.com/orangepi-xunlong/wiringOP
  • 3) Скомпилируйте WiringOP

    root@orangepi:~# cd wiringOP root@orangepi:~/wiringOP# ./build clean root@orangepi:~/wiringOP# ./build
  • 4) Результат выполнения команды test gpio readall следующий



    В этой таблице показаны 32 контакта, которые интерпретируются следующим образом:

  • a) Между контактами таблицы с 1 по 26 и 26-контактным разъемом на плате существует взаимно однозначное соответствие.
  • b) Контакт 27 таблицы соответствует контакту 10 на 13-контактном разъеме
  • c) Контакт 29 таблицы соответствует контакту 11 на 13-контактном разъеме
  • d) Контакт 31 таблицы соответствует контакту 12 на 13-контактном разъеме
  • e) Контакты таблицы 28, 30, 32 не используются

    3.23.3. Тест общих портов GPIO (Test common GPIO port)
    1) Ниже приведен пример того, как установить высокий и низкий уровень порта GPIO с контактом № 7, соответствующим GPIO как PC9, соответствующим номеру wPi как 2-



    2) Сначала установите порт GPIO в режим вывода (out), а в качестве третьего параметра ввести серийный номер wPi соответствующего вывода (2)

    root@orangepi:~/wiringOP# gpio mode 2 out
  • 3) Затем установите порт GPIO на вывод низкого уровня (третий параметр = 0). После настройки вы можете измерить мультиметром значение напряжения на контакте. Если это 0 В, это означает, что низкий уровень установлен успешно.

    root@orangepi:~/wiringOP# gpio write 2 0

    Используйте gpio readall, чтобы увидеть, что значение (V) вывода 7 стало 0




  • 4) Затем установите порт GPIO на вывод высокого уровня (третий параметр = 1). После настройки вы можете измерить мультиметром значение напряжения на контакте. Если это 3.3 В, это означает, что высокий уровень установлен успешно.

    root@orangepi:~/wiringOP# gpio write 2 1

    Используйте gpio readall, чтобы увидеть, что значение (V) вывода 7 стало 1




  • 5) Метод настройки других контактов аналогичен, просто измените серийный номер wPi на серийный номер, соответствующий контакту.

    3.23.4. Тест SPI (SPI test)
  • 1) Согласно принципиальной схеме 26-контактного разъема, доступным SPI для Orange Pi Zero2 является SPI1.



  • 2) Сначала проверьте, есть ли в ОС Linux узел устройства spidev1.1. Если он существует, это означает, что SPI1 настроен и может использоваться напрямую

    root@orangepi: ~/wiringOP/examples# ls /dev/spidev1* /dev/spidev1.1
  • 3) Скомпилируйте тестовую программу spidev_test в примерах wiringOP

    root@orangepi: ~/wiringOP/examples# make spidev_test [CC] spidev_test.c [link]
    4) Не замыкайте сначала контакты mosi и miso SPI1, и результат работы spidev_test будет следующим: вы можете видеть, что данные TX и RX несовместимы.

    root@orangepi: ~/wiringOP/examples# ./spidev_test -v -D /dev/spidev1.1 spi mode: 0x0 bits per word: 8 max speed: 500000 Hz (500 KHz) TX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D | ......@....-..................-. RX | FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF | ................................
    5) Затем замкните накоротко два контакта mosi SPI1 (19-й контакт ) и miso (21-й контакт) и запустите вывод spidev_test. Вы можете увидеть, что отправленные и полученные данные совпадают

    root@orangepi: ~/wiringOP/examples# ./spidev_test -v -D /dev/spidev1.1 spi mode: 0x0 bits per word: 8 max speed: 500000 Hz (500 KHz) TX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D | ......@....-..................-. RX | FF FF FF FF FF FF 40 00 00 00 00 95 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F0 0D | ......@....-..................-.

    3.23.5. Тест I2C (I2C test)
  • 1) Согласно принципиальной схеме 26-контактного разъема для Orange Pi Zero 2 доступен i2c3.



  • 2) После запуска ОС Linux сначала убедитесь, что в /dev есть узел устройства i2c3.

    root@orangepi:~# ls /dev/i2c-* /dev/i2c-3 /dev/i2c-5
  • 3) Затем начните тестировать i2c, сначала установите i2c-tools

    root@orangepi:~# apt update root@orangepi:~# apt install i2c-tools
  • 4) Затем подключите устройство i2c к контактам i2c3 26-контактного разъема.
    • Sda Соответствует контакту 3 i2c3
    • Sck Соответствует контакту 5 i2c3
    • Vcc Соответствует контакту 1 i2c3
    • Gnd Соответствует контакту 6 i2c3
    5) Затем используйте команду i2cdetect -y 3, если адрес подключенного устройства i2c можно определить, это означает, что i2c можно использовать в обычном режиме




    3.23.6. Тест UART (UART test)
  • 1) Согласно принципиальной схеме 26-контактного разъема, uart, доступный для Orange Pi Zero 2 - это UART5.



  • 2) После запуска ОС Linux сначала убедитесь, что в /dev есть узел устройства UART5.

    root@orangepi:~# ls /dev/ttyS* /dev/ttyS0 /dev/ttyS1 /dev/ttyS5
  • 3) Затем начните тестирование интерфейса UART5, сначала используйте перемычку Dupont для соединения rx и tx интерфейса UART5, который необходимо проверить.
    • Контакт Tx соответствует контакту 8 UART5
    • Контакт Rx соответствует контакту 10 UART5
  • 4) Затем измените имя узла последовательного устройства, открытое программой serialTest d wiringOP на /dev/ttyS5

    root@orangepizero2:~/wiringOP/examples# vim serialTest.c



  • 5) Перекомпилируйте программу последовательного тестирования serialTest в wiringOP

    root@orangepi:~/wiringOP/examples# make serialTest [CC] serialTest.c [link] root@orangepi:~/wiringOP/examples#
    6) Наконец, запустите serialTest, если вы видите показанные ниже выводимые строки, то это означает, что последовательная связь в норме.

    root@orangepi:~/wiringOP/examples# ./serialTest Out: 0: -> 0 Out: 1: -> 1 Out: 2: -> 2 Out: 3: -> 3 Out: 4: -> 4 Out: 5: -> 5 Out: 6: -> 6 Out: 7: -> 7 Out: 8: -> 8 ^C


  • Страница:   11    12    13    14    15    16    17    18    19    20    21    22    23    24    25    37    38    39    41    42    44    45    46    47    48    50    52    53    54    55    56    57    58