Hello! LiveJournal categorization system detected that your entry belongs to the category: Техника. If you think that this choice was wrong please reply this comment. Your feedback will help us improve system. Frank, LJ Team
А на какой частоте SPI проблема пропадает? И для какой максимальной частоты сконфигурирована нога SPI clock? 2, 10 или 50 MHz? 14 штук 74HC595 на одном выводе STM32 это приблизительно 140pF только емкостей входов, плюс распределенная емкость и индуктивность дорожек. Задержка распространения сигнала и длительность фронтов на последнем регистре вполне может превысить значение при котором регистр еще нормально работает. Плюс еще TI рекомендует разделять сигналы clock и защелку дорожкой подключенной к потенциалу земли, если эти сигналы разведены параллельно друг другу (в каком-то AppNote). Именно для исключения взаимонаводок. Понятно, что разводка уже готова и это проблематично поправить, но хоть за направление, в котором копать сойдет. Финальный щелчок на LOAD вполне может перескакивать на Clock и вызывать дополнительный сдвиг.
Сбой возникает только в том случае, если сразу переключается много выходов. В других ситуациях все работает нормально. Можно было предположить, что частота SPI на пределе, но не похоже на это. Работаю на частоте SPI 12 МГц. Если ее начинаю снижать, лучше не становится, граница появления сбоя остается та же самая. И только когда частоту снижаю в 16 раз, сбой пропадает. Нога SPI Clock сконфигурирована 50 MHz, пробовал другие значения, не меняется вообще ничего. Для всех задействованных ног менял скорость - никакого эффекта вообще. Эффект есть от подключения емкости на дальнем конце линии. На ближнем конце линии эта же емкость не влияет. Провода от Discovery до платы ставил в 3 раза более короткие - никаких изменений. Пробовал нагружать линию CLK резистором на дальнем конце. Когда ПОдтыкал его на весу - помогало. Когда запаял - нет эффекта. Похоже, помогает только емкость. Между CLK и LOAD хорошо бы развести землю, я это знаю, но тут на плате очень тесно. К тому же, дело не только в этой емкости. Когда переключается меньше выходов, эта
( ... )
Тогда наиболее вероятная причина в скачках по земле/питанию на последнем регистре. Вполне вероятно, что емкость на клоке подавляет бросок на земле до приемлемого уровня. Что если попробовать пробросить землю и питание на последний регистр проводом?
ниже корпус расширяется. Похоже, что компаунд внутри немного распирает корпус. Буквально на 0.2 мм.
Это не компаунд распирает, иначе в поперечном направлении его б распирало еще больше. Это специально сделанный уклон для облегчения выталкивания из формы. К тому же эпоксидный компаунд обычно стягивает, потому что адгезия хорошая, и усадка большая. У меня даже есть где-то в ящике пара деталек, где это прям заметно.
ещё можно скорость пинов поднять, для stm32f030p4 GPIOA->OSPEEDR |= (GPIO_OSPEEDR_OSPEEDR5|GPIO_OSPEEDR_OSPEEDR7|GPIO_OSPEEDR_OSPEEDR10); ps знаю,знаю - крутые кирпичи вам не нравятся:)
Comments 65
LiveJournal categorization system detected that your entry belongs to the category: Техника.
If you think that this choice was wrong please reply this comment. Your feedback will help us improve system.
Frank,
LJ Team
Reply
Reply
И для какой максимальной частоты сконфигурирована нога SPI clock? 2, 10 или 50 MHz?
14 штук 74HC595 на одном выводе STM32 это приблизительно 140pF только емкостей входов, плюс распределенная емкость и индуктивность дорожек. Задержка распространения сигнала и длительность фронтов на последнем регистре вполне может превысить значение при котором регистр еще нормально работает.
Плюс еще TI рекомендует разделять сигналы clock и защелку дорожкой подключенной к потенциалу земли, если эти сигналы разведены параллельно друг другу (в каком-то AppNote). Именно для исключения взаимонаводок. Понятно, что разводка уже готова и это проблематично поправить, но хоть за направление, в котором копать сойдет.
Финальный щелчок на LOAD вполне может перескакивать на Clock и вызывать дополнительный сдвиг.
Reply
Reply
Reply
Reply
Это не компаунд распирает, иначе в поперечном направлении его б распирало еще больше. Это специально сделанный уклон для облегчения выталкивания из формы. К тому же эпоксидный компаунд обычно стягивает, потому что адгезия хорошая, и усадка большая. У меня даже есть где-то в ящике пара деталек, где это прям заметно.
Reply
Reply
GPIOA->OSPEEDR |= (GPIO_OSPEEDR_OSPEEDR5|GPIO_OSPEEDR_OSPEEDR7|GPIO_OSPEEDR_OSPEEDR10);
ps знаю,знаю - крутые кирпичи вам не нравятся:)
Reply
Reply
Reply
Reply
Leave a comment