Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| boards:nms-uq7-komdiv-mk:peripherial:start [2026/07/29 10:35] – Илья Ковальчук | boards:nms-uq7-komdiv-mk:peripherial:start [2026/08/06 09:28] (текущий) – [SATA] Илья Ковальчук | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Использование периферии Q7_KOMDIV_MK ====== | ====== Использование периферии Q7_KOMDIV_MK ====== | ||
| + | |||
| + | На странице приведены примеры настройки и проверки периферийных интерфейсов модуля '' | ||
| + | |||
| + | * CAN | ||
| + | * UART; | ||
| + | * I2C; | ||
| + | * SPI; | ||
| + | * SATA; | ||
| + | * RTC. | ||
| + | |||
| + | |||
| + | **Скрипты для тестирования доступны в [[https:// | ||
| + | |||
| + | < | ||
| + | git clone https:// | ||
| + | </ | ||
| + | |||
| + | ===== ETH ===== | ||
| + | ETH на краевом разъеме Q7 по стандарту работает на RJ45-розетке рядом с USB: | ||
| + | |||
| + | {{ native-eth.jpg? | ||
| ===== CAN ===== | ===== CAN ===== | ||
| Строка 106: | Строка 127: | ||
| ===== I2C ===== | ===== I2C ===== | ||
| + | I2C-шины по стандарту Q7 реализованы через 4х-канальный мультиплексор PCA9546APW. | ||
| - | Пример работы с VL53L0X: | + | Описание i2c-шин с точки зрения Linux: |
| + | < | ||
| + | ls -la / | ||
| + | |||
| + | i2c-0 -> ../ | ||
| + | i2c-1 -> ../ | ||
| + | i2c-2 -> ../ | ||
| + | i2c-3 -> ../ | ||
| + | i2c-4 -> ../ | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | Пример работы с VL53L0X, подключенном к I2C0 по Q7: | ||
| ==== Просмотр шин ==== | ==== Просмотр шин ==== | ||
| Строка 152: | Строка 187: | ||
| Команда указывает датчику начать чтение с регистра 0x14, после чего получает 12 последовательных байт данных. | Команда указывает датчику начать чтение с регистра 0x14, после чего получает 12 последовательных байт данных. | ||
| - | ==== Чтение VL53L0X ==== | ||
| В качестве примера используется лазерный дальномер VL53L0X. | В качестве примера используется лазерный дальномер VL53L0X. | ||
| - | Подключение VL53L0X: | + | ==== Подключение VL53L0X |
| {{komdiv_i2c_connection.jpeg? | {{komdiv_i2c_connection.jpeg? | ||
| + | |||
| + | ==== Чтение VL53L0X ==== | ||
| < | < | ||
| Строка 197: | Строка 233: | ||
| ===== SPI ===== | ===== SPI ===== | ||
| - | В качестве примера проверяется SPI Flash, подключённая к интерфейсу ''/ | + | В качестве примера |
| + | При подключении к '' | ||
| Строка 214: | Строка 251: | ||
| ==== Определение SPI Flash ==== | ==== Определение SPI Flash ==== | ||
| - | |||
| - | Пример определения SPI Flash: | ||
| < | < | ||
| Строка 243: | Строка 278: | ||
| ===== SATA ===== | ===== SATA ===== | ||
| + | |||
| + | В модуле 1x SATA, который мультиплицируется между SATA0 и SATA1. По умолчанию выбран SATA1 по стандарту Q7 (на отладочной плате m2-разъем). | ||
| + | |||
| + | Выбор активного канала выполняется через GPIO с помощью скрипта '' | ||
| + | |||
| + | Выбор канала 0: | ||
| + | |||
| + | < | ||
| + | ./gpio.sh sata_select 0 | ||
| + | </ | ||
| + | |||
| + | Выбор канала 1: | ||
| + | |||
| + | < | ||
| + | ./gpio.sh sata_select 1 | ||
| + | </ | ||
| + | |||
| + | После выбора канала проверить обнаружение накопителя можно командой: | ||
| + | |||
| + | < | ||
| + | |||
| + | Пример успешного обнаружения SATA-накопителя: | ||
| + | |||
| + | < | ||
| + | major minor # | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | 31 0 640 mtdblock0 | ||
| + | 31 1 64 mtdblock1 | ||
| + | 31 2 64 mtdblock2 | ||
| + | 31 3 64 mtdblock3 | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | |||
| + | В данном примере накопитель определён как ''/ | ||
| + | |||
| + | Имя устройства может отличаться в зависимости от порядка обнаружения накопителей. | ||
| + | |||
| + | ===== RTC ===== | ||
| + | |||
| + | В дереве устройств определена I2C RTC. | ||
| + | |||
| + | При первом запуске системное время может быть установлено на 01.01.1970, а RTC ещё не будет содержать корректного значения. | ||
| + | |||
| + | Пример установки системного времени: | ||
| + | |||
| + | < | ||
| + | date -s " | ||
| + | </ | ||
| + | |||
| + | Запись системного времени в RTC: | ||
| + | |||
| + | < | ||
| + | hwclock -w | ||
| + | </ | ||
| + | |||
| + | Просмотр текущего времени RTC: | ||
| + | |||
| + | < | ||
| + | hwclock -r | ||
| + | </ | ||
| + | |||
| + | При наличии батарейки записанные дата и время сохраняются после отключения питания. | ||
| + | |||
| + | |||
| + | |||