Вопрос про SPI и несколько устройств

ivpo
Offline
Зарегистрирован: 07.01.2014

Здравствуйте
Скажите, как правильно работать с устройствами, которые занимают SPI и не дают работать другим подключенным устройствам?
Конкретно заметил это на модулях, построенных на mcp2515 (can-контроллер).
Есть ли какое-то решение?
Ну очень не хватает возможности работать с 2-3-мя SPI...

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014
ivpo
Offline
Зарегистрирован: 07.01.2014

Блин, да я не про это. Как оно должно быть - это понятно. А вот что делать, когда некоторые устройства отказываются работать как должны.

sadman41
Offline
Зарегистрирован: 19.10.2016

Взять ТВС с лампового телевизора и шарахнуть непокорные модули по лапам. Не подчинятся - нахлобучить им сверху ТС/TCA/ТПП.

А что такое "отказываются работать как должны", кстати?

MaksVV
Offline
Зарегистрирован: 06.08.2015

ivpo пишет:
Здравствуйте Скажите, как правильно работать с устройствами, которые занимают SPI и не дают работать другим подключенным устройствам? Конкретно заметил это на модулях, построенных на mcp2515 (can-контроллер). Есть ли какое-то решение? Ну очень не хватает возможности работать с 2-3-мя SPI...

я подключал несколько mcp2515 - у меня работали норм. CS (SS) модулей нужно на разные пины ардуино

ivpo
Offline
Зарегистрирован: 07.01.2014

Ясно, что на разные пины.

У меня mcp2515 по CS не отпускает линию SPI и не дает работать другим.

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

Если оно не переводит выводы MISO, MOSI в Hi-Z состояние - то никак. SPI-устройство обязано во время нахождения на SS единицы вести себя так, как будто его нет на линии вовсе. Выбрасывать, менять. Китайцу, продавшему такое барахло нассать на ебало излить на лицо содержимое мочевого пузыря. Созвать коммьюнити CS: GO (школьников-мамоебателей), пусть хейтят производителя.

Можно по плюсу питание отрезать (PNP или pFET транзистором).

MaksVV
Offline
Зарегистрирован: 06.08.2015

ivpo пишет:
Ясно, что на разные пины. У меня mcp2515 по CS не отпускает линию SPI и не дает работать другим.

код в студию

GarryC
Offline
Зарегистрирован: 08.08.2016

Ну, вообще то, странно, и не зря у Вас попросили код.

Согласно дата, MCP2515 сделан вполне правильно и шину отпускает, может, у Вас модуль сделаный криворукими разработчиками с неправильной буферизацией - тогда все может быть - хорошо бы его название и ссылку.

Если у Вас одно такое устройство на шине сидит, то поможет последовательный резистор между SO и модулем, а если много - то решения я не вижу.