LINUX.ORG.RU

SPI эмулятор

 ,


0

1

Очень требуется подключить одну железку по SPI к PC (через spidev), у которого как известно аппаратного SPI нема. Собственно эмулировать его я так понимаю его несложно, нужен просто модуль ядра, который создаст символьное устройство мимикрирующее под работу с spibus, а по факту шлющий данные в tty или usb порт. На конце которого весит мк с простой прошивкой, который собственно и реализует аппаратный spi.

Ну в общем я сомневаюсь что я первым до такой идеи дошел, наверняка уже кто-то что-то подобное делал, может кто знает готовые решения?


не проще ли подключить железку к мк, а мк к пк?

vvviperrr ★★★★★
()

Если руки в жопе - то тебе нужно попросить работодателя купить Diolan DLN-2 USB-SPI adapter. Для него в ядре есть SPI драйвер со всеми причендалами.

Если с руками всё хорошо - то возьми bluepill, например, и слепи элементарный USB-SPI конвертер, и без всяких ядерных SPI драйверов прицепи его к софтине через libusb.

Если с руками совсем всё хорошо и очень нужен именно ядрёный SPI, то сделай на том же bluepill, например, подобие диолановского девайса и допили его драйвер.

Stanson ★★★★★
()

а ещё SPI есть на raspberry, beaglebone и прочих одноплатниках

Harald ★★★★★
()

мк с простой прошивкой

сделай из такого мк uart<->spi конвертер, подключать можно через копеешные usb<->uart конвертеры

anonymous
()

Так, ладно, немного не поняли меня. Вопрос по стороне железяк вообще не стоит. Суть вопроса в чем. Есть солидная программа, которая работает с одной железкой по SPI. Крутится на на Raspberry, и я уже упарился заниматься отладкой аппаратной части через терминал gdb. С оборудованием программа взаимодействует через spidev (linux/spi/spidev.h). Очень хочется подключить это оборудование к рабочей станции и по человечески все это дело отлаживать. Но так как spi у pc отсутствует, задача эта невыполнима, пока он не появится. Что я ищу - мне нужен готовый (или с минимальными правками) модуль ядра, который полностью мимикрирует под spidev, т е работает по спецификации из linux/spi/spidev.h но полученные данные петлей кидает например в ttyUSB. Что касается того что висит на ttyUSB и как оно эмулирует реальный физический spi к вопросу не относится.

Serbis
() автор топика
Ответ на: комментарий от Serbis

с чего бы это на писюках spi не было?

выше кинул ссылки на целых 2 драйвера, эмулирующих spi через лпт порт. насколько они прибиты к конкретным железкам (можно ли их завести как spidev без сабжевой железки и правок кода) - хз, но отвязать не проблема.

не устраивает - покупается программатор 24/25 флэшек на ch341, компилится ch341-spi - и все прекрасно работает.

а вот извращений «spi через uart чтобы виделся как spi» - я как-то не припомню...

NiTr0 ★★★★★
()
Ответ на: комментарий от Deleted

в чем проблемность? в том, что аппаратно реализован режим 0 с инвертированным CS, который юзается в 99.9% SPI устройств? :)

NiTr0 ★★★★★
()
Ответ на: комментарий от NiTr0

В том, что по факту никакие параметры не настраиваются, и если «дефолтные» не прокатят, начинается веселье с битбангом.

Deleted
()

вариант куча: 1. битбанг через LPT (если есть) 2. ft232rl, тоже битбанг 3. ft232h, можно запилить аппаратный SPI 4. есть куча готовых проеобразователей, например aadvark spi/i2c

правда не у всех есть готовый модуль ядра для работы. С другой стороны так ли он нужен?

yax123 ★★★★★
()
Ответ на: комментарий от NiTr0

Насчёт «не в продакшн» есть сомнения, коз больших проблем в дебаге через удалёнку нет ;)

Deleted
()

PC (через spidev), у которого как известно аппаратного SPI нема.

а биос с SPI флешки как грузится?

dimon555 ★★★★★
()

Spi моя радость усни. В доме погасли огни

Deleted
()

Смотри в сторону микросхемы MAX3100

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.