Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| boards:nms-uq7-komdiv-mk:peripherial:start [2026/07/28 14:06] – Илья Ковальчук | 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 ===== | ||
| Строка 14: | Строка 35: | ||
| GND --- GND | GND --- GND | ||
| </ | </ | ||
| + | |||
| + | {{komdiv_can_connection.jpeg? | ||
| ==== Настройка ==== | ==== Настройка ==== | ||
| Строка 30: | Строка 53: | ||
| Скорость на обоих интерфейсах должна совпадать. | Скорость на обоих интерфейсах должна совпадать. | ||
| - | ==== Приём | + | ==== Приём ==== |
| Приём всех кадров: | Приём всех кадров: | ||
| Строка 104: | Строка 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: | ||
| ==== Просмотр шин ==== | ==== Просмотр шин ==== | ||
| Строка 149: | Строка 186: | ||
| Команда указывает датчику начать чтение с регистра 0x14, после чего получает 12 последовательных байт данных. | Команда указывает датчику начать чтение с регистра 0x14, после чего получает 12 последовательных байт данных. | ||
| + | |||
| + | |||
| + | В качестве примера используется лазерный дальномер VL53L0X. | ||
| + | |||
| + | ==== Подключение VL53L0X ==== | ||
| + | |||
| + | {{komdiv_i2c_connection.jpeg? | ||
| ==== Чтение VL53L0X ==== | ==== Чтение VL53L0X ==== | ||
| Строка 185: | Строка 229: | ||
| Distance 19: 65 mm | Distance 19: 65 mm | ||
| Distance 20: 70 mm | Distance 20: 70 mm | ||
| + | </ | ||
| + | |||
| + | ===== SPI ===== | ||
| + | |||
| + | В качестве примера используется SPI Flash, подключённая к '' | ||
| + | |||
| + | При подключении к '' | ||
| + | |||
| + | |||
| + | ==== Подключение ==== | ||
| + | |||
| + | {{komdiv_spi_connection.jpeg? | ||
| + | |||
| + | ==== Конфигурация ==== | ||
| + | |||
| + | Для работы с устройствами SPI необходимо загрузить модуль ядра: | ||
| + | |||
| + | < | ||
| + | modprobe spidev | ||
| + | </ | ||
| + | |||
| + | ==== Определение SPI Flash ==== | ||
| + | |||
| + | < | ||
| + | flashrom -p linux_spi: | ||
| + | </ | ||
| + | |||
| + | Пример успешного результата: | ||
| + | |||
| + | < | ||
| + | flashrom v1.5.1 on Linux 6.1.135 (mips64) | ||
| + | flashrom is free software, get the source code at https:// | ||
| + | |||
| + | Found Macronix flash chip " | ||
| + | === | ||
| + | This flash part has status UNTESTED for operations: WP | ||
| + | The test status of this chip may have been updated in the latest development | ||
| + | version of flashrom. If you are running the latest development version, | ||
| + | please email a report to flashrom@flashrom.org if any of the above operations | ||
| + | work correctly for you with this flash chip. Please include the flashrom log | ||
| + | file for all operations you tested (see the man page for details), and mention | ||
| + | which mainboard or programmer you tested in the subject line. | ||
| + | You can also try to follow the instructions here: | ||
| + | https:// | ||
| + | Thanks for your help! | ||
| + | No operations were specified. | ||
| </ | </ | ||
| ===== 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 | ||
| + | </ | ||
| + | |||
| + | При наличии батарейки записанные дата и время сохраняются после отключения питания. | ||
| + | |||
| + | |||
| + | |||