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

TOG

Свой
  • Постов

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

  • Посещение

Сообщения, опубликованные TOG


  1. Друзья, 

    я вот смотрю у НИИЭТ есть микроконтроллер 32-разрядный(К1921ВК01Т). Но у микроконтроллера К1921ВК01Т нет никаких интерфейсов для вывода на дисплей.

    Мне вот непонятно, а что в военной технике вывод на  дисплей не требуется ?

  2. On 10/31/2021 at 5:49 PM, RobFPGA said:

    Посмотрите как у вас земля на щупе подключена.  Наверное стандартным проводком 5-10 см и крокодилом?

    Подключите землю пружинкой, или на худой конец гибкой медной шинкой как можно более короткой. 

    В точку !

    Спасибо, RobFPGA ! Спасибо всем !

    Действительно дело было в щупе. 

    Прицепился через пружинку - совсем другое дело.

     

    3.jpg

  3. Вот та-же плата на другом осциллографе (500 МГц полоса):

    Сдается мне, что эти выбросы вполне себе объективная реальность.

    Явно с этим звоном нужно что-то делать.

    На втором снимке выбросы уже почти дотянули до уровня лог. 1

     

    1.jpg

    2.jpg

  4. Все разобрался.

    Главное, что я понял это не использовать связку TouchGFX и STM32CubeIDE.

    Похоже ST'шники что-то напортачили и код созданный TouchGFX не компилируется в CubeIDE, зато прекрасно компилируется в Keil.

    Порядок действий такой:

    1. Запустить CubeMX

    2. Создать проект под свое железо

    3. Убедиться, что SDRAM работает и содержимое видеобуфера отображается на дисплее.

    4. Подключаем в CubeMX software pack "X-CUBE-TOUCHGFX" и в его настройках ставим следующее:

    Interface: LTDC

    Framebuffer pixel format(LTDC): RGB565

    Framebuffer strategy: Single buffer

    Buffer allocation: By address

    Start address: 0xC0000000 (начало банка-1 SDRAM)

    Application tick source: LTDC

    Жмем Generate code

    Не забываем вставить в сгенерированный код нашу самописную функцию SDRAM_Init_Sequence (под конкретную модель SDRAM).

    Запускаем и видим GUI созданный в TouchGFX.

    Keil рулит ;)

     

  5. On 10/27/2021 at 10:02 PM, x893 said:

    У меня получилось без всякой методики

    STM32H747 (видеобуфер до 512K) - MIPI - Дисплеи разные 360x360, 454х454 с тачем

    Ну и TouchGFX для рисования/отображения.

    У Вас микроконтроллер точно такой-же как на плате DISCOVERY или в другом корпусе ?

     

    On 10/27/2021 at 7:19 PM, mantech said:

     

    А в чем разница? Схема подкл. дисплея и памяти скорее всего референс, взядый с дискавери, тогда в чем проблема??

    Проблема в том, что есть у ST отладочная плата STM32H743XI-DISCO на микроконтроллере STM32H743XIH6(TFBGA240+25), а на мое плате установлен микроконтроллер STM32H743ZGT6 (LQFP144). 

    И я не понимаю как мне адаптировать проект, который создает TouchGFX под мой контроллер.

  6. 4 minutes ago, ViKo said:

    У вас осциллограф с полосой частот 100 МГц, если судить по фрагменту названия. Сколько гармоник синуса 55 МГц он покажет?

    Всё у вас нормально с сигналами.

    Да Вы правы осциллограф 100 МГц поэтому видимо сигнал выглядит как синус. Но что делать с этими выбросами, сверху больше 4 Вольт и снизу почти минус 1 Вольт.  А в идеале должно то быть 0.. 3.3 В.

  7. Друзья,

    Есть плата с микроконтроллером STM32H743 и SDRAM (IS42S16160G-7TLI). SDRAM работает на частоте 110 МГц. Когда плату разводил делал выравнивание по длине проводника. В принципе плата работает, но очень не красивые сигналы на осциллографе.

    Ширина дорожек 0.25мм. Диаметр переходных 0.8мм, диаметр отверстия 0.4мм. На всех линиях установлены резисторные сборки 33 Ом. Номинал резисторов пробовал от 0 до 51 Ом - не влияет.

    Подсвечена линия RAM_DQ12 чисто для примера. По идее это сигнал 3.3 В  55 МГц.

    Что я сделал неправильно, как это исправить и как быть на будущее ?

     

     

    altium.jpg

    altium2a.jpg

  8. Друзья,

    Все мы знаем, что TouchGFX может легко создавать крутые графические интерфейсы, но только для своих плат Discovery.

    У меня своя плата на STM32H743 и дисплей подключен по LTDC.

    Хотелось бы понять как это сделать для своей платы. Должна же быть какая-то методика.

  9.  

    On 10/25/2021 at 9:31 AM, TOG said:

    Вот только в реальности, я могу выставить fmc_ker_ck = 160 MHz и память работает без ошибок. Но если выставить fmc_ker_ck = 160,5 MHz, то сразу появляются ошибки чтения. Их не много (~ 20 штук на 16 Мегабайт), но это уже не приемлемо.

    Косяк  у меня был в том, что сигнал FMC_SDNE0 (SDRAM_CS) был подключен к порту PC2_C, а это низкоскоростной аналоговый порт (так пишет даташит, стр. 67). Фронты FMC_SDNE0 (SDRAM_CS) были очень сильно завалены. Когда я переназначил этот сигнал через альтернативную функцию на порт PC4 (обычный высокоскоростной GPIO), все заработало как надо. Теперь FMC работает на своей максимальной частоте 220 МГц (FMC_ker_ck = 220 MHz), соответственно SDRAM работает на частоте 110 MHz , ошибок чтения нет.

     

  10. On 10/22/2021 at 3:55 PM, Tolyaha said:

    Выкладки из ПДФ:

    SDRAM/LPSDR SDRAM, NOR/NAND Flash
    clocked up to 133 MHz in synchronous mode

    The maximum FMC_CLK/FMC_SDCLK frequency for synchronous accesses is the
    FMC kernel clock divided by 2.

    Нашел, увидел. Спасибо, Tolyaha !

    On 10/22/2021 at 5:47 PM, aaarrr said:

    Еще рекомендую ознакомиться с разделом "FMC Characteristics" DS: в зависимости от ревизии и напряжения питания, максимальная частота FMC_CLK при работе с SDRAM не должна превышать 100 или 110МГц. То есть SDRAM доступна в режиме 50/55МГц всего-навсего.

    Спасибо, aaarrr !

    В общем подведя итог получается следующее:

    1. Максимальная частота клока на SDRAM:  FMC_CLK = 100 MHz (так пишет первая страница даташита)

    2. В ревизии V максимальная частота клока на SDRAM:  FMC_CLK = 110 MHz (стр. 272 даташита)

    3. Частота fmc_ker_ck должна быть вдвое выше. Поскольку в даташите нигде не указаны ограничения на fmc_ker_ck, посмотрел в CubeMX, там они пишут что fmc_ker_ck не должна превышать 300 МГц.

    Получается, что задав фундаментальную частоту fmc_ker_ck = 220 MHz, по идее на SDRAM мы должны получить FMC_CLK = 110 MHz и выжать таким образом максимум из FMC.

    Вот только в реальности, я могу выставить fmc_ker_ck = 160 MHz и память работает без ошибок. Но если выставить fmc_ker_ck = 160,5 MHz, то сразу появляются ошибки чтения. Их не много (~ 20 штук на 16 Мегабайт), но это уже не приемлемо.

     

    fmc1.jpg

    fmc2.jpg

    fmc3.jpg

  11. Друзья,

    есть на плате микроконтроллер (STM32H743) и SDRAM (IS42S16160G). Все в принципе работает, данные в SDRAM пишутся, считываются, проблем вроде нет.

    Однако тыкнув осциллографом в сигнал CLK на SDRAM я увидел, что частота вдвое ниже чем ожидалось, 71,5 МГц, а должно быть 143 МГц.

    Проект сделан в CubeMX. На вкладке Clock Configuration явно видно, что на FMC идет 143МГц. Однако параметр SDRAM_common_clock = "2 HCLK clock cycles" превращает 143 МГц в 71,5 МГц.  (а меньше выбрать нельзя)

    Это так и должно быть ? 

  12. Друзья,

    читаю даташит на ADSP-2156x, на странице 54 описана последовательность подачи питания на процессор.

    Они пишут, что разница в напряжениях VDD_EXT(3.3V), VDD_REF(1.8V), VDD_ANA(1.8V) не должна выходить за предел Vdelta. Это мне понятно.

    Но нигде ни слова про напряжение ядра VDD_INT(1.0V). Как и когда подавать напряжение 1.0V на питание ядра ??

    Скачал схему на отладочную плату EV-21569-SOM, там они подают все напряжения последовательно: Сначала 3.3V, потом 1.8V и в самую последнюю очередь 1.0V на ядро.

    Подскажите как быть ?

     

    adsp-2156x.jpg

  13. Друзья,

    Где в CrossCode Embedded Studio посмотреть размер получаемого кода в байтах после компиляции ?

    После компиляции получается dxe файл, но это не бинарник. Где размер в байтах посмотреть ?

  14. 14 minutes ago, TOG said:

    Означает ли это, что я смогу теперь с помощью моего J-Link'a и OpenOCD отлаживать ядра ARM и SHARC на ADSP-SC571 и не покупать ICE-1000 ?

    Все, сам разобрался. Эта фича позволяет отлаживать только ARM ядро. При попытке подсунуть ей бинарник SHARC ядра пишет "This program doesn't match the selected debug session type"

  15. Друзья,

    увидел в настройках CrossCore в меню Run --> Debug Configurations  возможность выбора в качестве внутрисхемного отладчика вот это: "Application witch ODB and OpenOCD (emulator)"

    А на сайте Analog Devices нашел вот эти ссылки на скачивание файлов "Download ICE-1000 firmware, Download ICE-2000 firmware"  и в описании к ним сказано следующее:

    "The ICE-2000 firmware can be updated using OpenOCD firmware command.

    openocd -f interface/ice2000.cfg -c "firmware Ice2000_firmware.hex"

    Only OpenOCD in a CrossCore Embedded Studio release should be used."

    Означает ли это, что я смогу теперь с помощью моего J-Link'a и OpenOCD отлаживать ядра ARM и SHARC на ADSP-SC571 и не покупать ICE-1000 ?

     

     

     

    cces.jpg

  16. Друзья,

    есть у нас задача обнаружить  цифровой сигнал на частоте ~ 20кГц (код Баркера) и для этого мы хотим использовать автокорреляционный анализ для его обнаружения.

    Есть например процессор ADSP-21565  У него 1.6 Мбайт встроенной памяти. Как бы узнать заранее хватит ли нам этой памяти, т.к внешнюю память к нему подключить уже нельзя.

  17. Друзья,

    купили Bluetooth 4.0 LE адаптер для связи с нашей установкой по UART, но этот адаптер в системе Windows 10 определяется как Bluetooth устройство, и никаких COM портов не создает.

    Что можно сделать ?

  18. Друзья,

    есть прибор на микроконтроллере C8051F130. Мы этих приборов ремонтировали множество и хорошо знаем их протокол:

    1. Показывает заставку на экране,

    2. обменивается данными с другими модулями (инициализация модулей),

    3. ожидает нажатие кнопки,

    4. выводит информацию о подключенных модулях,

    5. ожидает нажатия кнопки.

    6. переходит в рабочий режим

    7. обмен данными с модулями и вывод данных на экран

    Сегодня получил такой прибор с очень интересной неисправностью:

    При запуске прибора протокол выполняется не с начала, а откуда-то с середины минуя все эти 6 пунктов.

    То-есть заставка не показывается, кнопка не опрашивается, и он сразу переходит к пункту 7 (пытается вести обмен с модулями, которые он еще  не инициализировал), при этом на экран ничего не выводится.

    Если микроконтроллеру сделать RESET, то прошивка стартует как положено с начала (с пункта 1) и все работает как надо.

    Если микроконтроллер охладить м морозилке до -18, то не помогает даже RESET. Когда согреется, то RESET снова помогает.

    Кварц стабильный.

    Может есть у кого идеи, что это может быть и как с этим справиться ? 

  19. Друзья, ситуация страшная.

    У меня еще есть отладка STM32F746-Discovery (в ней встроенный ST-Link V2.1).

    Беру фирменный HAL'овский пример FLASH (стирает несколько страниц и записывает туда какие-то значения).

    Такая-же беда:

    при установке брейкпоинта, микроконтроллер сразу выставляет флаг PGSERR (Programming sequence error), отладка программы идет нормально, но все операции с внутренним флешем обламываются (страницы не стираются, данные во флеш не пишутся).

    Если брейкпоинт не ставить, а проходить программу пошагово, то все работает, страницы стираются, данные пишутся.

    Видимо действительно отладчик пытается ставить не аппаратные, а программные брейкпоинты (которые в общем-то нормально срабатывают и отладка идет нормально). 

    Если попытаться поставить более 8 брейкпоинтов, то Keil показывает окно, что "All HW breakpoints in use. SW breakpoints can't write to memory"

    Где это можно как-то настроить ума не приложу. Спасайте дурня.  

  20. Друзья,

    Есть STM32L051, STM32G071.

    Среда разработки Keil MDK-ARM (обновил до 5.35).

    Отладчик ST-Link V2 (синий свисток) (прошивка обновлена до свежей).

    Если в программе есть активные брейкпоинты, то при попытке стирания или записи страницы внутреннего флэша возникает ошибка HAL_ERROR (даже в фирменных примерах из MX_Cube)

    Если использовать отладчик J-Link то все ок.

    Как-то подружить ST-Link V2 с Keil можно ?

  21. Может я ошибаюсь, но мне кажется, что дело в этом:

    l11.thumb.jpg.07a3e1a474f7e6c05d3fa7168f09cdb8.jpg 

    Думаю если Вы переключите настройки анализатора протокола на Faling Edge, то эти эфемерные единички при считывании данных пропадут.

     

  22. 12 hours ago, GenaSPB said:

    Антиалиасинг из коробки есть в OpenVG.
    Пока без него - вот такое получается.

    storch demo - YouTube

    GenaSPB,  выглядит шикарно !

    Я правда не понял, этот GUI на линуксе сделан ?

  23. Друзья,

    Дано:  STM32H7 микроконтроллер освоенный на уровне HAL. 
    Хотелось бы сделать графический интерфейс не хуже чем в самых крутых автомобилях. С плавной прокруткой и анимацией. 

    В библиотеке STemWin кое-что нашёл: виджеты, шрифты, кое какие эффекты, но по-моему все это как-то слабовато. Да и похоже ST забросила этот продукт. 

    может есть какой-то софт для разработки GUI’я ?

     

     

    F8F3E7A9-35EA-435B-872E-79F50364243E.jpeg

    219D697C-A15E-4E66-86E5-0FAB0134C465.jpeg

  24. Друзья, посмотрел Errata на  радиочипы  STM32WL55xx, (STM32WL54xx):

    Что-то страшно стало от этого пункта:

    2.3.3 Overwriting with all zeros a Flash memory location previously programmed with all ones fails.

    Description: Any attempt to re-program with all zeros (0x0000 0000 0000 0000) a Flash memory location previously programmed with 0xFFFF FFFF FFFF FFFF fails and the PROGERR flag of the FLASH_SR register is set.

    Workaround: None.

    Это как-же понимать, что внутренняя флэш-память одноразовая что-ли ?

×
×
  • Создать...