Перейти к содержанию
    

MementoMori

Свой
  • Постов

    1 340
  • Зарегистрирован

  • Посещение

Весь контент MementoMori


  1. Спасибо, все переделал.Остался невыясненным следующий вопрос. USB3300 - все VIA, что на брюхе, сливаются с внутренним слоем земли. Соединить VIA с землей в слое BOTTOM не получится - все вокруг окружено проводниками. То есть имеем торчащие наружу микро-антеннки. Стоит ли их соединить вместе полигоном?
  2. Понятно. А как? Каким путем? Если что - на разъеме динамика GND - это просто металлические пластинки по краю разъема, для того, чтобы он не оторвался от платы. Питание динамика мостовое, земля усилителя исключительно AUDIO_GND. Разъясните, пожалуйста, как надо?
  3. В даташите показаны 3 варианта их установки У меня средний вариант. Наилучший вариант я не реализую, поскольку он подразумевает двусторонний монтаж, а этого очень не хотелось бы.
  4. ЦАП микроконтроллера. Сама аудиосхема вот Если не тянуть, то куда тогда PGND втыкать? В PLANE? А дальше от точки втыкания до разъема возвратные токи смешанные - и от PGND и от всего остального? Тогда получается верхняя картинка "НЕПРАВИЛЬНО": Нет... если только конечно за изображенные на картинках "АНАЛОГ.СХЕМЫ" и "ЦИФР.СХЕМЫ" считать аналоговый и цифровой блоки собственно преобразователя, а за "GND REF" считать не разъем питания всей платы, а участок PLANE , на котором сидит преобразователь. Иными словами, GND REF - это точка соединения цифровой и аналоговой частей только лишь микросхемы, которая вливается в слой PLANE? Так нужно понимать схему на картинке? Я понимал как раз по другому - "АНАЛОГ.СХЕМЫ" - это аналоговая часть преобразователя, а "ЦИФР.СХЕМЫ" - весь остальной цифровой "мусор". Это неправильно?
  5. То есть под прямым подключением вы имели в виду сплошную заливку и отказ от термобарьера? И хотели сказать, что не стоит создавать себе трудности при монтаже, если это не оправдывает себя. Я правильно понял? Ох.... сколько копий было сломано.. И производитель рекомендует земли разделять. А аудиосхему разве не надо изолировать от помех? К тому же вблизи импульсника? Вам показалось. Голубой слой - это слой питания. Я не приводил в картинках земельный слой PLANE, потому что он сплошной (за исключением дыр от VIA). А так он есть. В bottom слое я убрал полигон, потому что его не подключить к окружающей земле. Или же лучше торчащие VIA зашунтировать островком земли? Вот так
  6. Вы о чем? О том, что я подключаю микросхему к полигонам питания и земли кратчайшим путем через VIA? Или о чем? В смысле? Если вы об аналоговых землях - аудиоусилитель LM4875 (слева) и многоканальный преобразователь питания дисплея TPS65100PWPR (справа) А вообще - самый большой 208ногий компонент - STM32, вверху от него usb3300, справа две 8-ногие микросхемы - QSPI память, слева вверху - SDRAM, преобразователи питания.
  7. Вот результат кропотливо работы по переразведению. Во многих местах удалось разнести линии на расстояние намного большее чем 3W. Участков, где проводники в слоях TOP и BOTTOM не были бы разделены землей, нет. По целостности сигналов - глазковые диаграммы отличные. Хотелось бы пару критических слов в адрес платы от людей знающих. В частности, есть сомнения в 1. Топологии в районе кварцев у контроллера и usb_phy (qfn сверху от контроллера) 2. Топологии двух аналоговых земель (голубой слой питания, внизу)
  8. хм... Все равно не получилось. Но после модификации сгиба по вашему совету, переход стал и без teardrops выглядеть прилично. Может быть и альтиуму он понравился, от того он и не добавляет туда данный эффект
  9. Хе-хе))) Добавило везде, кроме того места, где я хотел. См правый нижний угол Непривычно конечно стала выглядеть плата. А скажите, эта вот мера прям таки очень сильно улучшает характеристики сигналов?
  10. Друзья, где-то натыкался на информацию, что в альтиуме можно сделать так, чтобы стык двух проводников выглядел так Как так сделать?
  11. многие пишут, что им присылают неэкранированные щупы, после чего они открывают спор и легко выбивают возврат части средств (15-20 баксов). Это средства (с небольшой доплатой можно потратить потом на покупку экранированных щупов (на али есть отдельно). Вопрос, а чем отличаются по внешнему виду экранированные от неэкранированных? Я имею в виду чтоб по фото на или можно было понять. Например вот здесь написано, что они экранированные. Брехня? а уже есть вот что https://aliexpress.ru/item/4001157887990.html?cv=815660&af=886947&utm_campaign=886947&aff_platform=link-c-tool&utm_medium=cpa&afref=https%3A%2F%2Fliancheng.aliexpress.ru%2Fstore%2Fgroup%2FAnalyzer%2F4387042_513445720.html%3Fspm%3Da2g0o.store_home.smartGrouping_513676482.513445720&sk=mr6wR6CC&aff_trace_key=fc4640dd328e401484d32aebc2bfa1dd-1598158527983-01355-mr6wR6CC&dp=184052d4076e8d1f1ebcf1700dc00955&terminal_id=5c3a9064d0e04fbd87a341bc6419cbe3&utm_source=admitad&utm_content=815660&aff_request_id=fc4640dd328e401484d32aebc2bfa1dd-1598158527983-01355-mr6wR6CC 1 ГигаГерц
  12. Сам себе и отвечу, в этой же статье есть ссылка на таблицу аналогов https://www.tme.eu/Document/bca4ab8365aa7f54d4acf5d56ad89947/Alliance Memory - Selection Guide.pdf Приведенная мной микросхема и является аналогом. А из всего, что кто-либо когда либо ставил на анализатор, только AS4C16M16SA работает на 166Мгц, остальное на 133МГц.
  13. Еще вопрос. В статье рекомендуется микросхема AS4C16M16SA ДАТАШИТ Cтруктура 16Мх16bit х 4 bank Обнаружил в закромах родины, у себя то бишь, старую компьютерную планку с K4S561632D-TC75 ДАТАШИТ Cтруктура та же 16Мх16bit х 4 bank но частота поменьше - 133МГц против 166МГ у предыдущей. Пойдет или нет? Кто-нить знает на какой частоте работает микросхема?
  14. См. Даташит. Почему так - не знаю, но, полагаю, что это хорошо. Дма тут ни причём. Уж на срыв тактирования qspi он точно не влияет.
  15. А если суперпупер версию заказывать, то щупы нормальные приедут?
  16. Дисплей работает на LTDC. Настраиваю частоту Pixelclock. Выше 35 МГц - сначала линии съезжают относительно друг друга по горизонтали, изображение дергается, а потом и вовсе корежится и пропадает. Сам дисплей по даташиту требует 40-62 МГЦ, по факту он заводится уже на 25МГц и прекрасно работает, только мерцает. Попытка поднять частоту приводит к срыву развертки. Пробовал на 3-х разных дисплеях, частота срыва одна и та же. Так что подозреваю проблемы клока со стороны контроллера.
  17. Вставил код /*activate CSI clock mondatory for I/O Compensation Cell*/ __HAL_RCC_CSI_ENABLE() ; /* Enable SYSCFG clock mondatory for I/O Compensation Cell */ __HAL_RCC_SYSCFG_CLK_ENABLE() ; /* Enables the I/O Compensation Cell */ HAL_EnableCompensationCell(); поигрался со scale0, scale1 - не помогло.
  18. Сейчас попробую. Да, ЕЩЕ ОДНА НЕМАЛОВАЖНАЯ ДЕТАЛЬ! В F746 камне такая же проблема была с дисплеем, но QSPI работало нормально. В 746 камне QSPI тактировалось жестко от AHB. В H743 камне QSPI переехала на PLL1, PLL2 и проблема появилась. Правда она еще и от HCLK3 может тактироваться, но я пробовал, проблема та же.
  19. Друзья, в ходе работы с контроллером STM32H743 образовались две некритические проблемы, которые я до поры отложил в долгий ящик. Это срыв развертки дисплея и медленная скорость работы с QSPI. При работе с дисплеем грешил на тайминги, на сам дисплей и прочее, пока не обратил внимание на тот факт, что подозрительно похожи частоты, на которых начинаются проблемы как с QSPI, так и с дисплеем. Это 34-35 МГц. То есть, на этой частоте QSPI в режиме MappedMode не выдает данные, а при установке такой частоты пиксельклока срывается, а потом и вовсе пропадает развертка. Похоже, что у обеих этих проблем есть общий корень. К сожалению, моему осциллографу не по силам такие частоты, я уже решился приобрести хороший, но в руках он у меня окажется не скоро. Поэтому возникает мысль, а может у меня есть ошибка, которую видно невооруженным глазом. Посмотрите на мое тактирование - не в нем ли проблемы? Может я режимы несовместимые выбрал или еще что-то..... QSPI тактируется от PLL2R (210 МГЦ, далее prescaler 5, итого частота 210/(5+1)=35 МГц) Pixelclock тактируется от PLL3R Код настройки тактирования такой void SystemClock_Config(void) { RCC_OscInitTypeDef RCC_OscInitStruct = {0}; RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; /** Supply configuration update enable */ HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY); /** Configure the main internal regulator output voltage */ __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {} /** Macro to configure the PLL clock source */ __HAL_RCC_PLL_PLLSOURCE_CONFIG(RCC_PLLSOURCE_HSE); /** Initializes the CPU, AHB and APB busses clocks */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; RCC_OscInitStruct.PLL.PLLM = 8; RCC_OscInitStruct.PLL.PLLN = 400; RCC_OscInitStruct.PLL.PLLP = 2; RCC_OscInitStruct.PLL.PLLQ = 2; RCC_OscInitStruct.PLL.PLLR = 2; RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_0; RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE; RCC_OscInitStruct.PLL.PLLFRACN = 0; if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { Error_Handler(); } /** Initializes the CPU, AHB and APB busses clocks */ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2 |RCC_CLOCKTYPE_D3PCLK1|RCC_CLOCKTYPE_D1PCLK1; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2; RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2; RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2; RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2; RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2; if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) { Error_Handler(); } PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LTDC|RCC_PERIPHCLK_UART7 |RCC_PERIPHCLK_SPI3|RCC_PERIPHCLK_SDMMC |RCC_PERIPHCLK_ADC|RCC_PERIPHCLK_I2C1 |RCC_PERIPHCLK_QSPI|RCC_PERIPHCLK_FMC; PeriphClkInitStruct.PLL2.PLL2M = 8; PeriphClkInitStruct.PLL2.PLL2N = 426; PeriphClkInitStruct.PLL2.PLL2P = 2; PeriphClkInitStruct.PLL2.PLL2Q = 2; PeriphClkInitStruct.PLL2.PLL2R = 2; PeriphClkInitStruct.PLL2.PLL2RGE = RCC_PLL2VCIRANGE_0; // Диапазон 1-2 МГц PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2VCOWIDE; PeriphClkInitStruct.PLL2.PLL2FRACN = 0; PeriphClkInitStruct.PLL3.PLL3M = 8; PeriphClkInitStruct.PLL3.PLL3N = 280; PeriphClkInitStruct.PLL3.PLL3P = 2; PeriphClkInitStruct.PLL3.PLL3Q = 2; PeriphClkInitStruct.PLL3.PLL3R = 8; PeriphClkInitStruct.PLL3.PLL3RGE = RCC_PLL3VCIRANGE_0; //Диапазон 1-2 МГц PeriphClkInitStruct.PLL3.PLL3VCOSEL = RCC_PLL3VCOWIDE; PeriphClkInitStruct.PLL3.PLL3FRACN = 0; PeriphClkInitStruct.FmcClockSelection = RCC_FMCCLKSOURCE_PLL; PeriphClkInitStruct.QspiClockSelection = RCC_QSPICLKSOURCE_PLL2; PeriphClkInitStruct.SdmmcClockSelection = RCC_SDMMCCLKSOURCE_PLL; PeriphClkInitStruct.Spi123ClockSelection = RCC_SPI123CLKSOURCE_PLL; PeriphClkInitStruct.Usart234578ClockSelection = RCC_USART234578CLKSOURCE_D2PCLK1; PeriphClkInitStruct.I2c123ClockSelection = RCC_I2C123CLKSOURCE_D2PCLK1; PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_PLL2; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) { Error_Handler(); } }
  20. Вопли "Лёлик, все пропало", лишили меня рассудка).
  21. В тырнетах видел посты из серии "Лёлик, все пропало". Мол, вышедшая версия U2 Basic не поддаётся переделки. Или поддаётся, но работает только со старым софтом. Это правда или нет?
  22. Мне кажется что проблема у вас была в чем-то другом. Или в том, что вы захотели выжать больше, чем гарантирует ST. Тогда проблемы точно не в разводке и гонке сигналов. Setup/hold у памяти - единицы нс. На такой частоте есть огромный запас по времени, гонка сигналов маловероятна. Я переделанную плату протестировал в hyperLynx, получил разность в задержках распространения сигнала не более 200 пс. Непонятно, причем тут именно H7 серия - это почти то же самое что и F7, только с разогнанным ядром и немножко усовершенствованной шиной. Контроллер FMC, насколько я знаю, идентичен таковому в F7.
  23. Именно у H7? По сравнению скажем с F7 ? Я с F7 на H7 при той разводке, что в первом посте, перепрыгнул без проблем. Гонка сигналов? Так у меня длина линий при раскидывании не изменилась. Линии не стали ближе друг к другу, каждая линия имеет опорную землю в слое PLANE. Добавилось только VIA. И не совсем понятно, каков механизм этой привередливости и ее причины.
×
×
  • Создать...