Easyelectronics.ru

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

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



    • Изготовление печатных плат
    • Создание принципиальных схем и проектирование печатных плат
    • Симуляция работы на spice моделях
    • Просмотр GERBER файлов

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

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

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


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

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

_________________
RADIOWOLF.RU


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

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

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


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

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

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

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


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

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


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

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

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


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

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


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

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

_________________
RADIOWOLF.RU


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

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

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

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


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

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


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

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

_________________
RADIOWOLF.RU


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

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

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


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

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

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

_________________
RADIOWOLF.RU


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

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

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


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

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

_________________
RADIOWOLF.RU


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

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


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

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

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


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

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

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


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

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

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


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

_________________
RADIOWOLF.RU


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

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


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

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

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

MOSI: 0XXXXXXX
MISO: XAAAAAAA

MOSI: 1XXXXXXX
MISO: XBBBBBBB

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


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

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


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

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

_________________
RADIOWOLF.RU


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

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


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

Сейчас этот форум просматривают: Dima2015, Oxford, Steel.ne


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

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

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