Easyelectronics.ru

Электроника для всех
Текущее время: 25 июн 2017, 19:01

Часовой пояс: UTC + 5 часов



    • The World's Cheapest PCB Prototyping: 10 шт. 2-слоя 100*100mm 2$(около 140rub), изготовление за 24 часа.
    • Создание принципиальных схем и проектирование печатных плат
    • Крупнейший китайский онлайн магазин радиодеталей. Скидка 50%
    • Просмотр GERBER файлов

Начать новую тему Ответить на тему  [ Сообщений: 22 ] 
Автор Сообщение
 Заголовок сообщения: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 20 мар 2017, 18:02 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1110
Откуда: Харьков
Собственно интересует как такое реализовать и можно ли вообще?

Если не совсем понятно то объясняю. Есть множество разных микрух, которые отвечают по SPI статусным байтом в зависимости от того, какой им пришел первый бит от мастера. Например мастер шлет запрос NOP на получение статуса (один байт), при этом слейв понимает первый бит и не дожидаясь передачи всего байта отвечает остальными 7 битами в зависимости от первого бита.
К примеру послали 10000000 - ответ будет 01111111 а если послали 00000000 то ответ будет 00000000.
Можно ли такое организовать на STM и если да, то на каких камнях.
Свой софтварный SPI не предлагать :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 20 мар 2017, 21:07 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 2722
Откуда: Кемеровская область, Киселевск
SPI определяет только физический слой, байты он не описывает. Это уже программная реализация.
SLAVE устройства ведут обмен только когда их выбирает мастер сигналом SS/CS.

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 20 мар 2017, 22:44 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1110
Откуда: Харьков
Oxford писал(а):
SPI определяет только физический слой, байты он не описывает. Это уже программная реализация.
SLAVE устройства ведут обмен только когда их выбирает мастер сигналом SS/CS.

Речь немного о другом.
SLAVE может ответить мастеру синхронно. Так вот как в этот момент понять какой первый бит пришел от мастера и остальные 7 бит передать уже в зависимости от этого первого бита в ответе.
Наверное нужна картинка.... :)


Последний раз редактировалось alexsam 20 мар 2017, 23:49, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 20 мар 2017, 22:51 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1110
Откуда: Харьков
Вложение:
2017-03-20_1945.png
2017-03-20_1945.png [ 13.6 Кб | Просмотров: 713 ]

Вот если мастер пошлет 0х38 где первый бит = 0 то слейв отвечает 0х0F а если мастер пошлет, например 0хB8 то слейв ответит В ТОМ ЖЕ фрейме уже другое.
Вот за то и спрашиваю.
Понятно что ответить слейвом что-то одно просто - загрузил в регистр данные и как только мастер пнул слейв - данные улетели, а как загрузить данные в процессе приема от мастера?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 20 мар 2017, 22:58 
Старожил

Зарегистрирован: 19 июн 2012, 14:17
Сообщения: 3437
В железе это можно реализовать на ПЛИС и возможно на PSoC... На обычных мк SPI таким функционалом не обладает.
ЗЫ А что мешает читать из слейва сразу два байта, а потом выбрать нужный?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 20 мар 2017, 23:03 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1110
Откуда: Харьков
яверт писал(а):
В железе это можно реализовать на ПЛИС и возможно на PSoC... На обычных мк SPI таким функционалом не обладает.
ЗЫ А что мешает читать из слейва сразу два байта, а потом выбрать нужный?

Это я хотел "подделать" один чип чтоб тестить устройства на стенде.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 20 мар 2017, 23:03 
Старожил
Аватара пользователя

Зарегистрирован: 17 дек 2014, 23:08
Сообщения: 524
Откуда: Kharkoff
Скорее всего никак, ведь сдвиговые-регистры SPI периферии юзеру недоступны. Только тогда, когда фрейм полностью принят, периферия его значение перекладывает из сдвигового регистра в регистр SPI_DR. Только программно городить SPI.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 20 мар 2017, 23:10 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 2722
Откуда: Кемеровская область, Киселевск
Непонятно вообще чего вы делаете. кто SLAVE?

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 20 мар 2017, 23:29 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1110
Откуда: Харьков
LonelyWolf писал(а):
Скорее всего никак, ведь сдвиговые-регистры SPI периферии юзеру недоступны. Только тогда, когда фрейм полностью принят, периферия его значение перекладывает из сдвигового регистра в регистр SPI_DR. Только программно городить SPI.

Да я вот тоже так думаю. Просто я не со всеми сериями STM работал поэтому и спрашиваю. Может в каких-то есть нечто подобное.

Oxford писал(а):
Непонятно вообще чего вы делаете. кто SLAVE?


Есть у меня устройства к которым подключается вот такие платки (на время разработки) Изображение

Так вот управление ими педалит удаленный человек и частенько приходится подключать анализатор прямо на линию SPI и смотреть чего он там напедалил и почему отличается от того что должно быть. Ну вот я и думал сделать такой себе эмулятор этого чипа чтоб видеть что ему шлется и что не так с конфиг регистрами. Вытащил этот модуль, подключил эмулятор и через секунду получил расклад в консоли что там не так. Очень удобно, я так когда-то делал для нордика. А вот этот CC1101 сильно умный - отвечает статусным регистром в зависимости от того, что ему в первом бите приходит...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 20 мар 2017, 23:33 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 2722
Откуда: Кемеровская область, Киселевск
Короче я не понимаю ваши замуты. Может кто другой расскажет.)

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 20 мар 2017, 23:35 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1110
Откуда: Харьков
Oxford писал(а):
Короче я не понимаю ваши замуты. Может кто другой расскажет.)

Вы наверное с таким поведением слейва не сталкивались.


Последний раз редактировалось alexsam 20 мар 2017, 23:42, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 20 мар 2017, 23:42 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 2722
Откуда: Кемеровская область, Киселевск
Каким таким? Ничего необычного я не увидел. SLAVE синхронно отвечает как и положено мастеру.

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 20 мар 2017, 23:44 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1110
Откуда: Харьков
Oxford писал(а):
Каким таким? Ничего необычного я не увидел. SLAVE синхронно отвечает как и положено мастеру.

Правильно, но он отвечает разными ответами в зависимости от первого бита в данных от мастера.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 20 мар 2017, 23:46 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 2722
Откуда: Кемеровская область, Киселевск
Какой протокол обмена такой и ответ. Какие вопросы к периферии?

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 20 мар 2017, 23:49 
Старожил
Аватара пользователя

Зарегистрирован: 17 дек 2014, 23:08
Сообщения: 524
Откуда: Kharkoff
alexsam писал(а):
Может в каких-то есть нечто подобное.
У L4 (и, думаю, других новых), минимальный фрейм 4бита. Если бы у девайса контрольные были первые четыре, можно было бы чего-нить замутить. Но меньше - облом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 20 мар 2017, 23:51 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1110
Откуда: Харьков
Oxford писал(а):
Какой протокол обмена такой и ответ. Какие вопросы к периферии?

Вопросы были озвучены в начале этой темы :) А именно как такое поведения слейва организовать на STM32 в их периферии чтоб не городить софтварный SPI.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 20 мар 2017, 23:53 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1110
Откуда: Харьков
LonelyWolf писал(а):
alexsam писал(а):
Может в каких-то есть нечто подобное.
У L4 (и, думаю, других новых), минимальный фрейм 4бита. Если бы у девайса контрольные были первые четыре, можно было бы чего-нить замутить. Но меньше - облом.

Да, тоже по началу думал об этом, но там статусный байт занимает все 7 бит. Так что не вариант.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 21 мар 2017, 00:06 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 2722
Откуда: Кемеровская область, Киселевск
alexsam писал(а):
Oxford писал(а):
Какой протокол обмена такой и ответ. Какие вопросы к периферии?

Вопросы были озвучены в начале этой темы :) А именно как такое поведения слейва организовать на STM32 в их периферии чтоб не городить софтварный SPI.


Периферия правильно работает. Задача не понятна. Вы сами то как хотите чтобы работало? Конечную логику хотелки огласите пожалуйста.

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 21 мар 2017, 01:17 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1110
Откуда: Харьков
Я, право, не знаю как еще объяснять :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 21 мар 2017, 03:02 
Старожил

Зарегистрирован: 19 июн 2012, 14:17
Сообщения: 3437
Oxford писал(а):
Конечную логику хотелки огласите пожалуйста.

ТС нужен SPI слейв с двумя регистрами данных. Выбор рабочего регистра по первому принятому от мастера биту.

MOSI: 0XXXXXXX
MISO: XAAAAAAA

MOSI: 1XXXXXXX
MISO: XBBBBBBB

На каком нибудь verilog`е это рисуется элементарно, а в периферии мк такого наворота я ни разу не встречал.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 21 мар 2017, 03:21 
Старожил
Аватара пользователя

Зарегистрирован: 27 мар 2015, 04:10
Сообщения: 1110
Откуда: Харьков
Да, как-то так.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ответ слэйва по SPI в зависимости от первого бита мастера
СообщениеДобавлено: 21 мар 2017, 12:53 
Старожил
Аватара пользователя

Зарегистрирован: 18 май 2013, 20:43
Сообщения: 2722
Откуда: Кемеровская область, Киселевск
Т.е. вам нужно на стм слейв режим сделать такой? 1 бит можно программно дернуть, а 7 бит аппаратно. Но это не укладывается в стандарты. Что обсуждается так и не понятно.

_________________
RADIOWOLF.RU


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ] 

Часовой пояс: UTC + 5 часов


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB