Easyelectronics.ru

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

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



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

Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Детский вопрос по схемотехнике
СообщениеДобавлено: 20 мар 2017, 17:41 
Свой человек

Зарегистрирован: 09 янв 2017, 19:45
Сообщения: 61
Вкратце постановка вопроса, есть два девайса с примерно одинаковой начинкой, но разной распайкой разъема, у одного питание на первой ноге, SPI CLK на седьмой, у второго - все наоборот. Внутри у девайса сдвиговый регистр(74hc165d) и SPI EEPROM. Опрашиваю я девайсы по SPI, скорость 2 МГц. Пока я ноги коммутировал перемычками, все работало отлично. Теперь захотелось программно определять что за девайс подключен. Для этого нужно по желанию на ноги(1,7) либо подавать питание, либо SPI CLK.

Придумал через NOR-gate управлять полевиком(BSS84), если SPI EEPROM статус отдает правильно - то считаем что правильно определили что за девайс подключен, если нет - меняем местами питание и SPI CLK. По факту получил, что сдвиговый регистр при такой схеме работает, а вот EEPROM что то не нравится. Осциллографа нет, попытался смоделировать в LTspice, вот примерно такое получилось, как на картинке, видимо, синяя линия в качестве clock не устраивает eeprom, а сдвиговый регистр работает нормально.

Посоветуйте, плз, как поправить?


Вложения:
ltspice_sp_adapter.png
ltspice_sp_adapter.png [ 206.4 Кб | Просмотров: 753 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Детский вопрос по схемотехнике
СообщениеДобавлено: 20 мар 2017, 18:04 
Старожил

Зарегистрирован: 05 фев 2013, 00:58
Сообщения: 1614
Видимо, ЕЕпрому не нравится задержка такта на 30-40 нс относительно линии данных. Если есть возможность, можно в программе задержать чтение относительно такта при вводе или задержать данные для записи относительно такта при выводе.
Если нет, то лучше для коммутации проводов применить ключ ADG884.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Детский вопрос по схемотехнике
СообщениеДобавлено: 20 мар 2017, 18:15 
Свой человек

Зарегистрирован: 09 янв 2017, 19:45
Сообщения: 61
SPI аппаратный, там ничего подкрутить не получится. Под ключ придется новую плату рисовать, сейчас почитаю про него, спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Детский вопрос по схемотехнике
СообщениеДобавлено: 20 мар 2017, 18:38 
Старожил

Зарегистрирован: 05 фев 2013, 00:58
Сообщения: 1614
PS. Возможно, для шины 300 пф окажется тяжеловато, тогда лучше поискать ключ "полегче" в плане емкости. С другой стороны, надо обеспечивать питание чего-то через этот ключ, значит, он должен быть достаточно низкоомным. Это противоречивые требования, поэтому придется искать компромисс. Посмотри 74LVC2G3157 или поищи рядом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Детский вопрос по схемотехнике
СообщениеДобавлено: 20 мар 2017, 19:02 
Свой человек

Зарегистрирован: 09 янв 2017, 19:45
Сообщения: 61
Смотрю, спасибо. Если бы они по ногам были совместимы, было бы вообще супер, попробовал бы разные варианты...


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

Зарегистрирован: 30 апр 2010, 22:56
Сообщения: 1521
Откуда: Киев
RomanST77 писал(а):
SPI аппаратный, там ничего подкрутить не получится.

Даже у аппаратного spi есть разные режимы работы. Как минимум по фронту клока и по спаду. Посмотреть - если фронт клока уже налезает на данные, то можно перенастроить по спаду. Главное чтобы чип EEPROM поддерживал.
Первый попавшийся:
• Supports SPI Modes 0 (0,0) and 3 (1,1)
– Data Sheet Describes Mode 0 Operation


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Детский вопрос по схемотехнике
СообщениеДобавлено: 20 мар 2017, 20:27 
Свой человек

Зарегистрирован: 09 янв 2017, 19:45
Сообщения: 61
Steel.ne писал(а):
RomanST77 писал(а):
SPI аппаратный, там ничего подкрутить не получится.

Даже у аппаратного spi есть разные режимы работы. Как минимум по фронту клока и по спаду. Посмотреть - если фронт клока уже налезает на данные, то можно перенастроить по спаду. Главное чтобы чип EEPROM поддерживал.
Первый попавшийся:
• Supports SPI Modes 0 (0,0) and 3 (1,1)
– Data Sheet Describes Mode 0 Operation


SPI Modes
These devices can be driven by a microcontroller
with its SPI peripheral running in either of the two
following modes:
– CPOL=0, CPHA=0
– CPOL=1, CPHA=1
For these two modes, input data is latched in on
the rising edge of Serial Clock (C), and output data
is available from the falling edge of Serial Clock
(C).
The difference between the two modes, as shown
in Figure 5., is the clock polarity when the bus
master is in Stand-by mode and not transferring
data:
– C remains at 0 for (CPOL=0, CPHA=0)
– C remains at 1 for (CPOL=1, CPHA=1)

Как то я не особо понял чем мне поможет переключение в Mode 3, разница только в том, в каком состоянии нога Clock когда данные не передаются.


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

Зарегистрирован: 09 янв 2017, 19:45
Сообщения: 61
Вот если бы можно было data setup time / data hold time менять, но такого вроде бы нет в stm32...


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

Зарегистрирован: 04 окт 2012, 00:23
Сообщения: 2421
Откуда: Москва
А можно поинтересоваться , о чём вы тут беседуете, если даже не знаете , что у ТС за EEPROM кроме того что оно SPI?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Детский вопрос по схемотехнике
СообщениеДобавлено: 20 мар 2017, 21:11 
Свой человек

Зарегистрирован: 09 янв 2017, 19:45
Сообщения: 61
Кстати, вот что подумалось, мне собственно в процессе работы читать EEPROM не надо, только для определения типа устройства. А что если читать EEPROM ногодрыгом, а потом включать нормальный аппаратный SPI и работать со сдвиговым регистром на нормальной скорости, раз ему этот сдвиг clock не мешает?

ЗЫ: EEPROM у меня M95010.


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

Зарегистрирован: 04 окт 2012, 00:23
Сообщения: 2421
Откуда: Москва
А что вполне нормально , вместо того чтобы передавать данные по фронту , а принимать по спаду , он теперь всё делает наоборот - мне бы тоже не понравилось


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

Зарегистрирован: 30 апр 2010, 22:56
Сообщения: 1521
Откуда: Киев
ILYAUL писал(а):
А можно поинтересоваться , о чём вы тут беседуете, если даже не знаете , что у ТС за EEPROM кроме того что оно SPI?

Телепатию тренируем. Это ж завсегда полезно. Ну и посоветовать тыкнуть отверткой в дроссель от нас не убудет ))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Детский вопрос по схемотехнике
СообщениеДобавлено: 21 мар 2017, 00:33 
Свой человек

Зарегистрирован: 09 янв 2017, 19:45
Сообщения: 61
Steel.ne писал(а):
ILYAUL писал(а):
А можно поинтересоваться , о чём вы тут беседуете, если даже не знаете , что у ТС за EEPROM кроме того что оно SPI?

Телепатию тренируем. Это ж завсегда полезно. Ну и посоветовать тыкнуть отверткой в дроссель от нас не убудет ))

Я все написал, реально помог iev91, спасибо ему, а вы с ILYAUL только щеки надуваете.


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

Зарегистрирован: 04 окт 2012, 00:23
Сообщения: 2421
Откуда: Москва
Не судите по себе.


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

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


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

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


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

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

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