roboforum.ru

Технический форум по робототехнике.

Задача по SPI интерфейсу

Резисторы, транзисторы, конденсаторы, микросборки, чип компоненты ...
Вопросы согласования управляющих модулей с периферией.

Re: Задача по SPI интерфейсу

Сообщение galex1981 » 22 окт 2009, 16:57

Слушай, тогда действительно просмотрел...
Тогда вообще всего 2 повторителя нужно
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: Задача по SPI интерфейсу

Сообщение boez » 22 окт 2009, 22:00

Но это все не отвечает на вопрос - что делать с MISO?

И кстати, если CS отдельные (я так понял 8-разрядный код?), что за 4-я нога SPI? Еще один глобальный селект?
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Задача по SPI интерфейсу

Сообщение galex1981 » 22 окт 2009, 22:03

Да, именно, глобальный селект, но буферизировать ее не надо
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: Задача по SPI интерфейсу

Сообщение Duhas » 22 окт 2009, 22:05

боец, в спи 4 ноги... мисо, моси, клок и чип селект... про чип селект - он 1 на 1 чип.. проблем нет.. моси и клок - выходы мастера соединенные со всеми слейвами - нужны повторители... мисо - вход, выходы слейвов тупо соединяем и все...

вроде я все сказал )
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: Задача по SPI интерфейсу

Сообщение boez » 22 окт 2009, 22:26

Так я ж уже писал выше у нас к выходу мисо активного (выбранного) слейва подключены еще 99 штук выводов мисо неактивных слейвов со своей емкостью. И далеко не очевидно, что емкость Hi-Z выхода мисо будет ниже емкости входа например моси, там же наверняка те же самые диоды на землю и питание есть как минимум. Вот в чем вопрос - можно ли соединять в кучу 100 штук выходов мисо от слейвов? Это надо документацию на слейв - а именно емкость, нагрузочную способность и частоту. А если мисо 100 штук можно соединять - так может оказаться что и моси/клок тоже можно (ну если частота низкая) без буферов.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Задача по SPI интерфейсу

Сообщение galex1981 » 22 окт 2009, 22:29

По документации без буферов можно 20-30 устройств так подключать...
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: Задача по SPI интерфейсу

Сообщение boez » 22 окт 2009, 22:29

А, и еще автор там писал что у него всего 8 чипселектов - и больше сотни слейвов, я смутно подозреваю что все селекты идут на все слейвы и выборка происходит кодом
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Задача по SPI интерфейсу

Сообщение galex1981 » 22 окт 2009, 22:31

Правильно 8 чипселектов это 1 байт информации, то есть 128 значений, то есть 127 устройств по SPI можно обслуживать (конечно дешифратор нужен)
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: Задача по SPI интерфейсу

Сообщение boez » 22 окт 2009, 22:39

Почему 128? Байт - 256 значений.

Тогда можно для мисо взять мультиплексор 8-в-1 и на каждый его вход повесить по 32 девайса (или 16-в-1 и 16 девайсов), а управлять им старшими 3 или 4 линиями из 8 селектов. Ну а на моси, клок, общий селект SS (а нужен он вообще в такой схеме? Можно не делать девайса с нулевым адресом и все) и 8 селектов устройств - буфера.

Добавлено спустя 2 минуты 57 секунд:
И еще раз - скорость обмена какая и что из себя представляют слейвы? Я ж писал, если частота низкая - на один выход АВРки можно повесить 10000 входов, исходя из даташита... Так что может и не нужны мультиплексоры? Если входы CMOS конечно.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: Задача по SPI интерфейсу

Сообщение galex1981 » 22 окт 2009, 22:46

да байт 256 бит, ошибся.
Скорость обмена не превышает скорость УАРТА. Слейв устройства представляют собой МК, которые я вляются предобразователями данных из SPI в I2C или UART
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Пред.

Вернуться в Электроника, электротехника

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 39