Jump to content

    

MementoMori

Свой
  • Content Count

    576
  • Joined

  • Last visited

Community Reputation

0 Обычный

About MementoMori

Recent Profile Visitors

1097 profile views
  1. Век живи, век учись) Но, боюсь, это не последний вопрос в этой теме). Я видел, но почему-то подумал, что это относится к конкретной модели дисплея, а не к LTDC
  2. Чудны дела твои, господи.... Вот что говорит даташит про DE и полярность DE сигнала То есть, я так понял, полярность его положительная. В коде пишу Заработало только тогда, когда поставил hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AL;
  3. Правильно ли понял из даташита, что PCLK должен быть инвертированный?
  4. Для меня да) Раздел-то для начинающих. Сейчас попробуем Перевел в DE режим - на экране справа заливка с тем цветом, который я и хотел, но с бегущими полосами, слева тоже какие-то полосы. Скажите, если я перехожу в DE режим, все упомянутые мной выше параметры - что с ними делать? Оставить как есть? Или в нули?
  5. А если я перейду в DE - VSYNC и HSYNC будут не нужны что ли?
  6. Надо же, я думал нижнего предела нет. Снизил частоту, чтобы посмотреть осциллографом есть ли сигналы на линиях. Исправил на 50 МГц. Ура, дисплей стал показывать вот такое кино https://cloud.mail.ru/public/35hx/2HvGy9PrN Опять таки, что-то с дисплеем, а не с контроллером LTDC - если я в цикле переинициализирую LTDC - движение полос замирает на время, но полосы не исчезают. По ходу вопрос - vertical synchronisation height, vertical block porch, vertical fron porch и прочие параметры - в даташите их нет, я так понимаю их нужно подбирать экспертиментально. Но если они неправильно подобраны - изображение должно просто съехать куда-то или же возможны артефакты, как на видео?
  7. Господа, пытаюсь запустить дисплей на самодельной плате с STM32F746 и LTDC Дисплей 7 дюймов с RGB интерфейсом, вот такой https://www.buydisplay.com/download/manual/ER-TFT070-6_Datasheet.pdf Контроллер его вот такой https://www.buydisplay.com/download/ic/EK79001.pdf Сгенерировал проект, для проверки что он работает - поставил в настройках заполнение экрана серым цветом. Пока что дисплей не реагирует, я на данном этапе списываю это на возможные ошибки настройки, возможные дефекты монтажа, ковыряюсь, проверяю Но все же спустя примерно 5 секунд после включения наблюдается странный эффект вот он на видео https://cloud.mail.ru/public/2wEd/3coCzE9 Этот эффект не проявляется, если LTDC не инициализирован. Что это может быть? Такое ощущение, что это какой-то глюк в самом дисплее... PixelCLock 25MHz HS,VS PCLK Polarity - в соответствии с даташитом на контроллер дисплея. Код инициализации дисплея static void MX_LTDC_Init(void) { /* USER CODE BEGIN LTDC_Init 0 */ /* USER CODE END LTDC_Init 0 */ LTDC_LayerCfgTypeDef pLayerCfg = {0}; /* USER CODE BEGIN LTDC_Init 1 */ /* USER CODE END LTDC_Init 1 */ hltdc.Instance = LTDC; hltdc.Init.HSPolarity = LTDC_HSPOLARITY_AL; hltdc.Init.VSPolarity = LTDC_VSPOLARITY_AL; hltdc.Init.DEPolarity = LTDC_DEPOLARITY_AH; hltdc.Init.PCPolarity = LTDC_PCPOLARITY_IPC; hltdc.Init.HorizontalSync = 7; hltdc.Init.VerticalSync = 3; hltdc.Init.AccumulatedHBP = 14; hltdc.Init.AccumulatedVBP = 5; hltdc.Init.AccumulatedActiveW = 1038; hltdc.Init.AccumulatedActiveH = 605; hltdc.Init.TotalWidth = 1044; hltdc.Init.TotalHeigh = 607; hltdc.Init.Backcolor.Blue = 200; hltdc.Init.Backcolor.Green = 200; hltdc.Init.Backcolor.Red = 200; if (HAL_LTDC_Init(&hltdc) != HAL_OK) { Error_Handler(); } pLayerCfg.WindowX0 = 0; pLayerCfg.WindowX1 = 1024; pLayerCfg.WindowY0 = 0; pLayerCfg.WindowY1 = 600; pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB888; pLayerCfg.Alpha = 0; pLayerCfg.Alpha0 = 0; pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_CA; pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_CA; pLayerCfg.FBStartAdress = 0; pLayerCfg.ImageWidth = 1024; pLayerCfg.ImageHeight = 600; pLayerCfg.Backcolor.Blue = 200; pLayerCfg.Backcolor.Green = 200; pLayerCfg.Backcolor.Red = 200; if (HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN LTDC_Init 2 */ /* USER CODE END LTDC_Init 2 */ }
  8. Вот здесь человек делал печку из духовки. Даже выкладывал картинку с термопрофилем. Правда он выкинул ТЭНы и поставил ИК лампы. Можете поинтересоваться, как оно вышло на практике.
  9. Смирился с поясками.
  10. Моя ошибка была. В теме про китайцев и меня-дурака, я уже понял свою ошибку. Во внутренних слоях ничего нет, а во внешних так и должно быть. Да и в Гиперлинксе прогнал с новыми ВИА - ничего не поменялось.
  11. Вопрос снят. Разобрался.
  12. Зато есть про мою переписку с производителем. Впрочем, я написал уже - выяснилось, что во-первых о внутренних слоях такого косяка нет, а во внешних альтиум сам генерирует нечто, что я привел на картинке. Я любитель. Признаю, погорячился, не знал этой тонкости. Но, простите, Альтиум же дает мне возможность сделать ширину пояска нулевой во внешних слоях. Это меня и дезориентировало. А потом оказывается Альтиум молча делает герберы такими, что пояски при производстве появляются. То есть, я правильно понял, что можно даже не пытаться убрать медь вокруг VIA с внешних слоев, а просто принять это как данность?
  13. Господа, есть у меня на плате куча VIA, вокруг которых ширина пояска из меди равна нулю. То есть на плате должно быть голое отверстие, не окруженное медью (относящиеся к нему дорожки проходят в других слоях). В проекте все выглядит нормально. Но вот экспортирую я через Fabrication output->Gerbers, и получаю следующую картину группа точек малого диаметра - это VIA, вокруг которых не должно быть меди. Диаметр этих точек - это диаметр отверстия. Я не заметил этой тонкости, не знал о ней, заказал платы. На платах на уровне этих точек наросли пояски из меди (такой же ширины, как и остальные нормальные VIA). Видимо софт производителя, видя что медь как бы должна быть, но ширина ее близка к нулю (там ведь сверловка того же диаметра), наращивает пояски до минимальной ширины. Как отключить генерацию этих точек в герберах?
  14. мммм... все-таки на этот раз дурак я... Скачал я герберы, которые загрузил на их сайт..... И увидел интересное. Во всех внутренних слоях поясков нет. В TOP и BOTTOM есть круги, меньше по диаметру, чем VIA с пояском, по диаметру они соответствуют отверстиям. Именно на таких отверстиях на плате появились пояски. Почему так получается в альтиуме при экспорте через Fabrication Ouput? Я попытался поиграться с настройками экспорта - картинка либо такая как на скриншоте, либо дорожки заканчиваются ничем, то есть не имеют на уровне VIA поясков. Что я делаю не так? ПОясню - на картинке круги алого диаметра - это VIA, вокруг которых меди быть не должно. Но она есть и шире, чем на картинке.
  15. Я предположил, что подход един ко всем слоям. А даже если это и не так - видите в слое bottom бесхозные ВИА с поясками? Значит в TOP и внутреннем сигнале на этот ВИА прицеплены дорожки. И если в BOTTOM рядом с таким VIA проходит дорожка-жертва, то поясок, увеличивает влияние агрессора, обитающего в других слоях, так как является его продолжением.. Но это в теории. Пришел я домой, открыл проект, сделал VIA как у них, прогнал в HyperLynx. Не изменилось ничего. 95% VIA, на которых вдруг появились пояски, и которые расположены не посреди земли, а вблизи сигнальных трасс, принадлежат либо VCC, либо GND. Есть несколько пар сигнальных линий, которые за счет поясков стали ближе друг к другу, но все равно клиренс между ними в пределах 3W, либо перекрестная помеха не выше 50 мВ.