Зеркало Telegram-чата "Репка / Repka-Pi"

Статус
Закрыто для дальнейших ответов.
По идее, пусть разработчики подправят, надо посмотреть в даташите на какие гипо можно вывести SPI 2 и создать дополнительную схему(библиотеку) для вывода, так же в описания или как там правильно прописать для can1 это все по аналогии с can0

Автор сообщения в Telegram: Андрей

Ссылка на сообщение в Telegram
 
насколько я понимаю, библиотека то уже есть, can0 то работает :) нужно её донастроить для работы can1. Какая библиотека используется и где её настройки смотреть?

Автор сообщения в Telegram: Александр Ящера


Вообще вы можете скачать dtb-шки с официального сайта и утилитой dtc декомпилировать sun50i-h5-repka-pi3-alt-uart-can-v1.6p.dtb (или другой файл с uart-can под вашу версию Репки). Там есть настройка CAN0 под SPI0. Теоретически если по образу и подобию дописать туда настройку для CAN1, скомпилировать обратно в dtb и подсунуть в прошивку - должно заработать.

Либо посмотреть, как можно настроить device tree по ходу загрузки, возможно как-то через переменные uboot это сделать.
Я эту тему слегка сбоку трогал пару лет назад (для другого девайса на ARM) и точнее не подскажу. Но надеюсь это поможет.

Автор сообщения в Telegram: Fedor Krutey

Ссылка на сообщение в Telegram
 
По идее, пусть разработчики подправят, надо посмотреть в даташите на какие гипо можно вывести SPI 2 и создать дополнительную схему(библиотеку) для вывода, так же в описания или как там правильно прописать для can1 это все по аналогии с can0

Автор сообщения в Telegram: Андрей


Работает через один SPI, только разные CS и INT на каждый из CANов

Автор сообщения в Telegram: Александр Ящера

Ссылка на сообщение в Telegram
 
Вообще вы можете скачать dtb-шки с официального сайта и утилитой dtc декомпилировать sun50i-h5-repka-pi3-alt-uart-can-v1.6p.dtb (или другой файл с uart-can под вашу версию Репки). Там есть настройка CAN0 под SPI0. Теоретически если по образу и подобию дописать туда настройку для CAN1, скомпилировать обратно в dtb и подсунуть в прошивку - должно заработать.

Либо посмотреть, как можно настроить device tree по ходу загрузки, возможно как-то через переменные uboot это сделать.
Я эту тему слегка сбоку трогал пару лет назад (для другого девайса на ARM) и точнее не подскажу. Но надеюсь это поможет.

Автор сообщения в Telegram: Fedor Krutey


и это для H5, там тоже вникать нужно ..

Автор сообщения в Telegram: BraVo123

Ссылка на сообщение в Telegram
 
https://docs.u-boot.org/en/latest/usage/fdt_overlays.html

Если я правильно понимаю, можно просто сделать свой DTB overlay (dtbo), чтобы не править основной DTB-файл и через boot.cmd добавить команду с его использованием.

Автор сообщения в Telegram: Fedor Krutey


Если бы через графическую оболочку бы это было, галочки поставил, это бы все автоматом подправилось и при следующей загрузке все как надо стало, но пока для обычных инженеров это не сделали))))

Автор сообщения в Telegram: Андрей

Ссылка на сообщение в Telegram
 
Кстати говоря, не планируется выложить DTB для 4-й репки на сайт?

Автор сообщения в Telegram: Fedor Krutey


Проходила предварительная информация, что даже не просто DTB на сайт, а git-репозиторий планируется к Новому Году. Но это - планы, сами понимаете. Как пойдёт. Ждём.

Автор сообщения в Telegram: Павел Исопенко

Ссылка на сообщение в Telegram
 
Проходила предварительная информация, что даже не просто DTB на сайт, а git-репозиторий планируется к Новому Году. Но это - планы, сами понимаете. Как пойдёт. Ждём.

Автор сообщения в Telegram: Павел Исопенко


Ещё не плохо бы пины проименовать, например как тут разбирают - https://github.com/seamusdemora/PiFormulae/blob/master/DeviceTreeExperiments.md

Автор сообщения в Telegram: BraVo123

Ссылка на сообщение в Telegram
 
Работает через один SPI, только разные CS и INT на каждый из CANов

Автор сообщения в Telegram: Александр Ящера


Не заведёте вы два CAN на одном SPI на Репке просто так. Причина простая. Этот шилд, который на ваших фото, он как сделан? Для его работы используются стандартные пины SPI, которые есть на Малине (MOSI, MISO, CLK, CE0, CE1), а прерывания вешаются на пару свободных GPIO.

Открываем даташиты на процы. У BCM2835, на котором Малины сделаны, у каждого SPI из коробки по два сигнала CE (chip enable, он же CS - chip select). Для SPI1 и 2 вообще три сигнала CE выведено. У Allwinner H5, на котором сделана Репка, у обоих SPI только по одному сигналу CS. Второй CS вы нигде не получите физически.

Поэтому вы на уровне проца ничего с этим сделать не сможете - на малине либа просто пишет в нужные регистры и аппаратура всё сама делает (выбор чипа через выставление нужного CE и чтение/запись). На репке у вас физически нет такой возможности т.к. CS у аппаратного SPI только один.

Автор сообщения в Telegram: Fedor Krutey

Ссылка на сообщение в Telegram
 
Не заведёте вы два CAN на одном SPI на Репке просто так. Причина простая. Этот шилд, который на ваших фото, он как сделан? Для его работы используются стандартные пины SPI, которые есть на Малине (MOSI, MISO, CLK, CE0, CE1), а прерывания вешаются на пару свободных GPIO.

Открываем даташиты на процы. У BCM2835, на котором Малины сделаны, у каждого SPI из коробки по два сигнала CE (chip enable, он же CS - chip select). Для SPI1 и 2 вообще три сигнала CE выведено. У Allwinner H5, на котором сделана Репка, у обоих SPI только по одному сигналу CS. Второй CS вы нигде не получите физически.

Поэтому вы на уровне проца ничего с этим сделать не сможете - на малине либа просто пишет в нужные регистры и аппаратура всё сама делает (выбор чипа через выставление нужного CE и чтение/запись). На репке у вас физически нет такой возможности т.к. CS у аппаратного SPI только один.

Автор сообщения в Telegram: Fedor Krutey


А любой Gpio нельзя использовать для поднятия CS?

Автор сообщения в Telegram: R0cket

Ссылка на сообщение в Telegram
 
А любой Gpio нельзя использовать для поднятия CS?

Автор сообщения в Telegram: R0cket


Библиотеку придется дописывать, аппаратная поддержка пропадет. Наверное эффективнее через uart подцепить, через uart-can микросхемы.

Автор сообщения в Telegram: Андрей

Ссылка на сообщение в Telegram
 
Статус
Закрыто для дальнейших ответов.