Инструменты пользователя

Инструменты сайта


boards:nms-uq7-komdiv-mk:peripherial:start

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
boards:nms-uq7-komdiv-mk:peripherial:start [2026/07/29 10:33] – Илья Ковальчукboards:nms-uq7-komdiv-mk:peripherial:start [2026/08/06 09:28] (текущий) – [SATA] Илья Ковальчук
Строка 1: Строка 1:
 ====== Использование периферии Q7_KOMDIV_MK ======  ====== Использование периферии Q7_KOMDIV_MK ====== 
 +
 +На странице приведены примеры настройки и проверки периферийных интерфейсов модуля ''Q7_KOMDIV_MK''.
 +
 +  * CAN
 +  * UART;
 +  * I2C;
 +  * SPI;
 +  * SATA;
 +  * RTC.
 +
 +
 +**Скрипты для тестирования доступны в [[https://gitlab.inmys.online/srisa-public/k5500vk018-test-suite|репозитории test-suite]].**
 +
 +<code>
 +git clone https://gitlab.inmys.online/srisa-public/k5500vk018-test-suite.git
 +</code>
 +
 +===== ETH =====
 +ETH на краевом разъеме Q7 по стандарту работает на RJ45-розетке рядом с USB:
 +
 +{{ native-eth.jpg?480 }}
  
 ===== CAN ===== ===== CAN =====
Строка 15: Строка 36:
 </code> </code>
  
-{{komdiv_can_connection.jpeg?800}}+{{komdiv_can_connection.jpeg?600}}
  
 ==== Настройка ==== ==== Настройка ====
Строка 106: Строка 127:
  
 ===== I2C ===== ===== I2C =====
 +I2C-шины по стандарту Q7 реализованы через 4х-канальный мультиплексор PCA9546APW.
  
-Пример работы с VL53L0X:  +Описание i2c-шин с точки зрения Linux: 
 +<code> 
 +ls -la /sys/class/i2c-adapter* 
 + 
 +i2c-0 -> ../../devices/platform/1b400130.i2c/i2c-0 - SoC's I2C-Master  
 +i2c-1 -> ../../devices/platform/1b400130.i2c/i2c-0/i2c-1 - I2C_SYS. Шина на модуле, куда подключены PMIC(0x18), i2c eeprom, i2c-mux(0x74), rtc (0x68) 
 +i2c-2 -> ../../devices/platform/1b400130.i2c/i2c-0/i2c-2 - I2C0 по стандарту Q7 
 +i2c-3 -> ../../devices/platform/1b400130.i2c/i2c-0/i2c-3 - SMB_I2C по стандарту Q7 
 +i2c-4 -> ../../devices/platform/1b400130.i2c/i2c-0/i2c-4 - Not Connected 
 + 
 +</code> 
 + 
 + 
 +Пример работы с VL53L0X, подключенном к I2C0 по Q7:  
  
 ==== Просмотр шин ==== ==== Просмотр шин ====
Строка 152: Строка 187:
 Команда указывает датчику начать чтение с регистра 0x14, после чего получает 12 последовательных байт данных. Команда указывает датчику начать чтение с регистра 0x14, после чего получает 12 последовательных байт данных.
  
-==== Чтение VL53L0X ==== 
  
 В качестве примера используется лазерный дальномер VL53L0X. В качестве примера используется лазерный дальномер VL53L0X.
  
-Подключение VL53L0X:+==== Подключение VL53L0X ====
  
-{{komdiv_i2c_connection.jpeg?800}}+{{komdiv_i2c_connection.jpeg?600}} 
 + 
 +==== Чтение VL53L0X ====
  
 <code> <code>
Строка 197: Строка 233:
 ===== SPI ===== ===== SPI =====
  
-Пример подключения SPI Flash:+В качестве примера используется SPI Flash, подключённая к ''CS0''. Ей соответствует устройство ''/dev/spidev1.0''.
  
-В качестве примера проверяется SPI Flash, подключённая к интерфейсу ''/dev/spidev1.0'', т.к. установлена на CS0.+При подключении к  ''CS1'' используется устройство ''/dev/spidev1.1''.
  
-Подключение микросхемы: 
  
-{{komdiv_spi_connection.jpeg?800}}+==== Подключение ==== 
 + 
 +{{komdiv_spi_connection.jpeg?600}} 
 + 
 +==== Конфигурация ====
  
-Для работы с устройствами SPI необходимо предварительно загрузить модуль ядра: +Для работы с устройствами SPI необходимо загрузить модуль ядра: 
  
 <code> <code>
Строка 211: Строка 250:
 </code> </code>
  
-Пример определения SPI Flash:+==== Определение SPI Flash ====
  
 <code> <code>
Строка 239: Строка 278:
  
 ===== SATA ===== ===== SATA =====
 +
 +В модуле 1x SATA, который мультиплицируется между SATA0 и SATA1. По умолчанию выбран SATA1 по стандарту Q7 (на отладочной плате m2-разъем).
 +
 +Выбор активного канала выполняется через GPIO с помощью скрипта ''gpio.sh''.
 +
 +Выбор канала 0:
 +
 +<code>
 +./gpio.sh sata_select 0
 +</code>
 +
 +Выбор канала 1:
 +
 +<code>
 +./gpio.sh sata_select 1
 +</code>
 +
 +После выбора канала проверить обнаружение накопителя можно командой:
 +
 +<code> cat /proc/partitions </code>
 +
 +Пример успешного обнаружения SATA-накопителя:
 +
 +<code>
 +major minor  #blocks  name
 +   1        0      16384 ram0
 +   1        1      16384 ram1
 +   1        2      16384 ram2
 +   1        3      16384 ram3
 +   1        4      16384 ram4
 +   1        5      16384 ram5
 +   1        6      16384 ram6
 +   1        7      16384 ram7
 +   1        8      16384 ram8
 +   1        9      16384 ram9
 +   1       10      16384 ram10
 +   1       11      16384 ram11
 +   1       12      16384 ram12
 +   1       13      16384 ram13
 +   1       14      16384 ram14
 +   1       15      16384 ram15
 +  31        0        640 mtdblock0
 +  31        1         64 mtdblock1
 +  31        2         64 mtdblock2
 +  31        3         64 mtdblock3
 + 179        0    7634944 mmcblk0
 + 179        1    1048576 mmcblk0p1
 + 179        2    1048576 mmcblk0p2
 + 179        3    1048576 mmcblk0p3
 + 179        8       4096 mmcblk0boot0
 + 179       16       4096 mmcblk0boot1
 +   8       16  125034840 sdb   # <------------------------/ 
 +   8       17     153600 sdb1  # <-----------------------/  Обнаруженный SATA-накопитель
 +   8       18  124881223 sdb2  # <----------------------/ 
 +</code>
 +
 +В данном примере накопитель определён как ''/dev/sdb'' и содержит два раздела.
 +
 +Имя устройства может отличаться в зависимости от порядка обнаружения накопителей.
 +
 +===== RTC =====
 +
 +В дереве устройств определена I2C RTC.  
 +
 +При первом запуске системное время может быть установлено на 01.01.1970, а RTC ещё не будет содержать корректного значения.
 +
 +Пример установки системного времени:
 +
 +<code>
 +date -s "2026-07-29 14:48:00"
 +</code>
 +
 +Запись системного времени в RTC:
 +
 +<code>
 +hwclock -w
 +</code>
 +
 +Просмотр текущего времени RTC:
 +
 +<code>
 +hwclock -r
 +</code>
 +
 +При наличии батарейки записанные дата и время сохраняются после отключения питания.
 +
 +
 +
boards/nms-uq7-komdiv-mk/peripherial/start.1785321199.txt.gz · Последнее изменение: — Илья Ковальчук