Например TDA7294

Форум РадиоКот • Просмотр темы - ATmega328P SPI Master SS-pin - errata?????
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Ср сен 30, 2020 00:37:15

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 23 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Чт сен 24, 2020 20:42:49 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 89
Рейтинг сообщений: 1754
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 15375
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
коллеги, у кого есть возможность проверить, прошу проверить и рассказать, есть проблема или нет.

суть: SPI настраивается в режим мастера, при этом пин SS как бы не участвует в работе и может быть испольован как обычный пин ввода-вывода (если я верно понял даташит). так вот, я конфигурирую этот пин SS на вход с подтяжкой, просаживаю его на землю, и все - SPI в режиме мастера не работает. для WS2812b я использую SPI с передачей по ожиданию конца передачи - конец передачи не наступает, на MOSI ничего не меняется. стоит оторвать SS от земли - все работает.

тут есть следующие варианты:
1. я чего-то недопонял в логике работы SPI в режиме мастера. как бы маловероятно, все-таки не первый день замужем... но вдруг?
2. я получил из Китая левак с вышеописанным дефектом (TQFP32 корпус, есличо)
3. это проблема всех 328-ых мег, но тогда почему в Errata нет ни слова об этом?!

помогите разобраться!

Добавлено after 4 minutes 15 seconds:
в догонку:


мой рабочий код инициализации SPI:
Код:
// на SS единичка подана заранее в другом месте   
   DDR(SPI_PORT) |= MOSI_PIN | SCK_PIN;
   SPCR = _BV(SPE) | _BV(MSTR) | _BV(CPHA);
   SPSR = _BV(SPI2X);
   SPDR=1;

этот код работает только в том случае, если SS оторван от земли.

вот так работает, но, естественно, раскаляется кристалл (из-за чего подумал, что спалил, пришлось перепаивать), т.к. в нормальном режиме у меня SS на земле глухо:
Код:
   DDR(SPI_PORT) |= MOSI_PIN | SCK_PIN | SS_PIN; // т.е. SS на выход принудительно
   SPCR = _BV(SPE) | _BV(MSTR) | _BV(CPHA);
   SPSR = _BV(SPI2X);
   SPDR=1;

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Чт сен 24, 2020 23:04:51 
Это не хвост, это антенна
Аватар пользователя

Карма: 20
Рейтинг сообщений: 185
Зарегистрирован: Вс мар 28, 2010 12:52:22
Сообщений: 1368
Откуда: Беларусь
Рейтинг сообщения: 8

Страница 165 datasheet ATmega48A/PA/88A/PA/168A/PA/328/P [DATASHEET] Atmel-8271J-AVR- ATmega-Datasheet_11/2015

_________________
«Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.


Вернуться наверх
 
JLCPCB, всего $2 за прототип печатной платы! Цвет - любой!

Отличное качество, подтвержденное более чем 600,000 пользователей! Более 10,000 заказов в день.

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Чт сен 24, 2020 23:06:26 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 64
Рейтинг сообщений: 857
Зарегистрирован: Пт мар 29, 2019 10:45:58
Сообщений: 2097
Откуда: Тюмень
Рейтинг сообщения: 8
Это проблема всех ATmega…
Цитата:
Если же микроконтроллер находится в режиме «Master» (разряд MSTR регистра SPCR установлен в «1»), направление передачи данных через вывод SS определяется пользователем. Если вывод сконфигурирован как выход, он работает как линия вывода общего назначения и не влияет на работу модуля SPI. Как правило, в этом случае он используется для управления выводом SS микроконтроллера, работающего в режиме «Slave».
Если же вывод сконфигурирован как вход, то для обеспечения нормальной работы модуля SPI, на него должно быть подано напряжение ВЫСОКОГО уровня. Подача на этот вход напряжения НИЗКОГО уровня от какой-либо внешней схемы будет воспринята модулем SPI как выбор данного микроконтроллера в качестве ведомого, и соответственно, начало передачи ему данных. Во избежание конфликта на шине модуль SPI в таких случаях выполняет следующие действия:
1. Флаг MSTR регистра SPCR сбрасывается, и микроконтроллер
переключается в режим «Slave». Как следствие, выводы MOSI и
SCK начинают функционировать как входы.
2. Устанавливается флаг SPIF регистра SPSR, генерируя запрос на
прерывание от SPI. Если прерывания от SPI разрешены и флаг I
регистра SREG установлен в «1», происходит запуск подпрограммы обработки прерывания.

Таким образом, если ведущий микроконтроллер использует передачу данных, управляемую прерыванием, и существует вероятность подачи
на вход SS напряжения НИЗКОГО уровня, в подпрограмме обработки прерывания от SPI обязательно должна осуществляться проверка состояния
флага MSTR. При обнаружении сброса этого флага он должен быть программно установлен обратно в «1» для обратного перевода микроконтроллера в режим «Master».

_________________
Профессия нужна человеку, чтобы заниматься любимым делом, применять свои таланты и знания, приносить пользу другим людям.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Шестое юбилейное мероприятие в процессе
Не в сети
 Заголовок сообщения: Re: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Пт сен 25, 2020 07:31:29 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 89
Рейтинг сообщений: 1754
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 15375
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
большуще спаибо, коллеги! и ведь видел я эти строки, но, прочитав первое предложение сразу перескакивал на конец, считая, что нюансов там нет и быть не может...

однако, теперь вопрос: как с этим бороться? у меня SS постоянно на земле (перемычка), не спрашивайте, почему. при этом попытка ставить бит MSTR в обработчике прерываний (для SPI вообще-то у меня прерывания не используются, работаю поллингом) ни к чему не приводит. ощущение такое, что MSTR сброшен всегда, если SS вход и на земле.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 
Драйверы MOSFET/IGBT Infineon – силой нужно управлять!

Специалисты Infineon усовершенствовали традиционные кремниевые MOSFET и IGBT и выпустили компоненты на базе принципиально иных материалов – нитрида галлия и карбида кремния. Мы создали подборку полезных материалов, чтобы вы разобрались во всех тонкостях и стали экспертом по управлению силовыми приборами нового поколения CoolMOS, CoolGaN, CoolSiC!

Подробнее>>
Не в сети
 Заголовок сообщения: Re: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Пт сен 25, 2020 07:39:44 
Мучитель микросхем

Карма: 2
Рейтинг сообщений: -4
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 411
Рейтинг сообщения: 0
однако, теперь вопрос: как с этим бороться? у меня SS постоянно на земле (перемычка)...

Боюсь что ответ не устроит - только программный SPI.(


Вернуться наверх
 
Снижена цена на DC/DC и AC/DC преобразователи Mornsun в Компэл!

Хорошие новости для покупателей источников питания! Компэл снизил цены на всю продукцию Mornsun. В ассортименте – как широко известные и популярные позиции, так и новинки. Доступны AC/DC, неизолированные DC/DC-преобразователи или импульсные стабилизаторы (семейство K78/R3), изолированные DC/DC, и новейшее поколение R4.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Пт сен 25, 2020 07:48:56 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 89
Рейтинг сообщений: 1754
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 15375
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
ну... когда сильно-сильно прижмет, изворотливость границ не знает :)))
вышел из положения тем, что на момент опроса перемычки пин перевожу на вход с подтяжкой, а потом на выход с выводом 0. тогда КЗ не возникает, кристалл не раскаляется, я для SPI пин является выходм и ноль игнорируется...

вот что бывает, когда при разводке платы на графическом изображении МК не обозначены назначения его выводов, только номера... KiCAD подвел. ну и сам тоже баран, не спорю.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Пт сен 25, 2020 08:31:31 
Друг Кота

Карма: 58
Рейтинг сообщений: 827
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 3793
Откуда: Ижевск
Рейтинг сообщения: 3
Раз корпус TQFP, поднять от печати 14 лапу не вариант?


Вернуться наверх
 


Не в сети
 Заголовок сообщения: Re: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Пт сен 25, 2020 08:52:36 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 64
Рейтинг сообщений: 857
Зарегистрирован: Пт мар 29, 2019 10:45:58
Сообщений: 2097
Откуда: Тюмень
Рейтинг сообщения: 0
однако, теперь вопрос: как с этим бороться? у меня SS постоянно на земле (перемычка)

Раз вывод не используется, то его можно тупо удалить… :) или поднять вверх разорвав контакт с площадкой (как предложил akl). Или как уже сделали Вы… варианты есть всегда... :))

_________________
Профессия нужна человеку, чтобы заниматься любимым делом, применять свои таланты и знания, приносить пользу другим людям.


Вернуться наверх
 
Бытовой пирометр АКИП-9312 – просто удобно!

Диапазон 35 °С ...42°С (температура тела) погрешность 0,3 °С
Диапазон 0 °С ...100°С (бытовая сфера) погрешность 1,0 °С
Не в сети
 Заголовок сообщения: Re: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Пт сен 25, 2020 09:29:58 
Мучитель микросхем

Карма: 2
Рейтинг сообщений: -4
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 411
Рейтинг сообщения: 0
вышел из положения тем, что на момент опроса перемычки пин перевожу на вход с подтяжкой, а потом на выход с выводом 0. тогда КЗ не возникает, кристалл не раскаляется, я для SPI пин является выходм и ноль игнорируется...

Нормально. 0 на 0 - ничего не будет, допустимо. Сначала порт, затем ддр.)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Пт сен 25, 2020 10:05:17 
Электрический кот

Карма: 3
Рейтинг сообщений: 261
Зарегистрирован: Ср июл 17, 2013 13:55:57
Сообщений: 1031
Рейтинг сообщения: 0
Я так понимаю что вывод-то всё-таки используется, поэтому оторвать его просто так нельзя.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Пт сен 25, 2020 10:56:24 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 89
Рейтинг сообщений: 1754
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 15375
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
вывод задействован в качестве селектора адреса устройства, поэтому для некоторых устройств он должен быть всегда на земле, а для некоторых - в отрыве от земли. поэтому просто навсегда оторвать его нельзя...

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Пт сен 25, 2020 15:36:08 
Держит паяльник хвостом

Карма: -3
Рейтинг сообщений: 104
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 942
Рейтинг сообщения: 0
Если честно, странно, что вы по SPI не знали, что вывод при SS при включенном SPI аппаратно переключает мк в слейв. Ладно бы другая периферия и их заморочки. Ну да ладно. Ну шо, поэхали.
Код:
   set_bit (SS_DDR, __SS);

Усе. Пин назначен как выход. Подключение на минус ему не страшно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Пт сен 25, 2020 15:52:09 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 89
Рейтинг сообщений: 1754
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 15375
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Demiurg писал(а):
Пин назначен как выход. Подключение на минус ему не страшно
даладна!
а если на него выводится единица? :)))

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Пт сен 25, 2020 16:08:37 
Держит паяльник хвостом

Карма: -3
Рейтинг сообщений: 104
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 942
Рейтинг сообщения: 0
Значит, сожгете порт. Это у всех AVR так с SPI. Понимаете? Либо вы его используете как выход, либо никак. Точка. В режиме SPI последствия понятны.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Пт сен 25, 2020 16:38:58 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 89
Рейтинг сообщений: 1754
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 15375
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
Порт, вроде, уцелел... А вот обход проблемы мне не понравился.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Пт сен 25, 2020 16:52:19 
Держит паяльник хвостом

Карма: -3
Рейтинг сообщений: 104
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 942
Рейтинг сообщения: 0
Значит на PORTx откуда то прилетает единичка.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Пт сен 25, 2020 17:12:09 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 64
Рейтинг сообщений: 857
Зарегистрирован: Пт мар 29, 2019 10:45:58
Сообщений: 2097
Откуда: Тюмень
Рейтинг сообщения: 4
поэтому просто навсегда оторвать его нельзя...

Тогда (если есть такая возможность) можно перерезать дорожку и в разрыве припаять резистор 330 Ом. :solder: Тогда при любых раскладах Ваш пин останется невредимым. :) . При работе SPI пин конфигурируемый как выход (лог 0) не подсадит линию источника сигнала если даже она будет в 1. А после завершения работы SPI номинал данного резистора (330 Ом.) тоже не внесёт каких либо проблем когда пин будет настроен как вход. :)

_________________
Профессия нужна человеку, чтобы заниматься любимым делом, применять свои таланты и знания, приносить пользу другим людям.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Пт сен 25, 2020 17:31:10 
Друг Кота
Аватар пользователя

Карма: 39
Рейтинг сообщений: 1543
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 4911
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Точно. (опередил :) ) либо вместо перемычки использовать такой резистор...

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Пт сен 25, 2020 21:39:25 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 89
Рейтинг сообщений: 1754
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 15375
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
коллеги, либо я написал не очень внятно, либо вы не читаете: проблема решена путем опроса этой перемычки в режиме ввода с подтяжкой, затем перевода пина в режим выхода и вывода в него 0, и только затем инициализации SPI. не потребовалось ни дорожки резать, ни резисторы вешать.

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
удивительно, но при взгляде на многих сверху ничего не меняется...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATmega328P SPI Master SS-pin - errata?????
СообщениеДобавлено: Пт сен 25, 2020 22:24:38 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 64
Рейтинг сообщений: 857
Зарегистрирован: Пт мар 29, 2019 10:45:58
Сообщений: 2097
Откуда: Тюмень
Рейтинг сообщения: 0
коллеги, либо я написал не очень внятно, либо вы не читаете:

После данных постов, я понял, что проблема решена, но есть опасения сжечь порт если у источника сигнала будет лог 1. :dont_know:
Цитата:
ну... когда сильно-сильно прижмет, изворотливость границ не знает

Цитата:
вывод задействован в качестве селектора адреса устройства, поэтому для некоторых устройств он должен быть всегда на земле, а для некоторых - в отрыве от земли.

Цитата:
а если на него выводится единица?

Цитата:
Порт, вроде, уцелел... А вот обход проблемы мне не понравился.

:roll:
----------
ARV писал(а):
не потребовалось ни дорожки резать, ни резисторы вешать.

Хорошо, рас решена и всё устраивает, тогда я Вас не буду более отвлекать своими глупостями.

_________________
Профессия нужна человеку, чтобы заниматься любимым делом, применять свои таланты и знания, приносить пользу другим людям.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 23 ]  1,  

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


Кто сейчас на форуме

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


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

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


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y