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

hd44780

Свой
  • Постов

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

  • Посещение

Репутация

0 Обычный

Информация о hd44780

  • Звание
    Профессионал
    Профессионал
  • День рождения 30.06.1977

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Посетители профиля

5 838 просмотров профиля
  1. Вобщем вроде понял происходящее. На обоих выходах ЦАПА буферы выключены // MCR.MODE1 = 010 - DAC channel1 is connected to external pin with Buffer disabled DAC -> MCR = DAC_MCR_MODE1_1; // OUT2 - connect to internal logic and to pin PA5, buffer is OFF // MCR.MODE2 = 001 - DAC channel1 is connected to pin PA5 and internal logic with Buffer disabled DAC -> MCR &= ~DAC_MCR_MODE2; DAC -> MCR |= DAC_MCR_MODE2_0; Буферы выключены сознательно, т.к. при этом на выходах почти чистый 0 (где-то 2-3 мВ). Если буферы включить - там порядка 0.4-0.5 в - мне это мешает. Видимо какой-то операционник подключается, который не ахтец. В качестве лирического отступления - год-полтора назад пробовал вместо ЦАПА цифровой потенциометр (условия схемы это позволяют, высокая ёмкость выхода и прочее - не проблема) - тот вообще на выходе идеальный 0 даёт. Перешёл на ЦАПы только ради разрешения - потенциометр 8 бит, ЦАП (любой) - 12. Питание схемы полностью импульсное - первичный БП 24в, потом импульсный преобразователь до 5в, на его выходе я добавил LowESR электролит 500 мкФ. Платa Nucleo с процом питается от этих 5в. На плате стоит штатный AMS1117-3.3 с какими-то мелкими конденсаторами типа 0.1 мкф. Схемы плат дельцы из ST уже давно не предоставляют. На выходах цапа наблюдаются пачки импульсных помех до 0.5 в (если верить моему осциллу UT-81B). Первичный БП - типа такого , только выходнй каскад у меня чуть другой, там я тоже оба выходных электролита поменял, родные заметно хуже были. На выходе компаратора честный прямоугольник, но с многократными беспорядочными импульсами 0-1-0. При росте напряжения IN+ их кол-во и частота сильно растут, это и приводит к свечению светодиода. Так что название темы оказалось некорректным, надо было раньше осциллом потыкать, потом уже писать 😀 Попробую запитать его от транса + LM7805, чтобы полностью уйти от импульсного питания, хотя уйти от него не получится, т.к. проц по задумке должен управлять понижающим преобразователем напряжения с 24в вниз. Сам преобразователь работает, сделаны вольтметр, амперметр и т.п. На компараторе собирался сделать аппаратную защиту тот оверлода с управляемым порогом. Т.е. его выход должен вырубать реле на выходе.
  2. Был 00, задал 11 - разницы не заметил. Попробовал ради прикола включить инверсию выхода COMP1 -> CSR = COMP_CSR_HYST | COMP_CSR_INMSEL_2 | COMP_CSR_INMSEL_0 | COMP_CSR_POLARITY; оно работает - теперь диодик не плавно разгорается, а плавно затухает 😀 У них там и инверторы аналоговые стоят явно 😂 ШИМ - не знаю, как-то не догнал до такого, завтра ткну осциллом туда, отпишусь.
  3. Привет всем. Решил использовать COMP1 на процессоре STM32G0B1RET6. Для тестирования (типа пощупать) подключил так: COMP1 IN+ - DAC OUT1 -- проверяемый сигнал, управляется кнопками (увеличить - уменьшить) COMP1 IN- - DAC OUT2 -- порог срабатывания. Пока неуправляемый COMP1 OUT - PA0 (или PA11) -- внешний выход компаратора К внешнему выходу компаратора подключен простой светодиодик. Просто чтоб видно было. Также выход компаратора опрашивается кодом (он есть в регистрах) и выводится на дисплей. Результат сего действа - битик в регистре ведёт себя довольно адекватно, а на пине я наблюдаю не цифровой уровень (как должно быть), а буквально аналоговый сигнал 0 - 3.3в (я туда кроме светодиода ещё и вольтметр подключил). Когда напряжение DAC OUT1 приближается к DAC OUT2 выход компаратора в регистре сброшен (т.е. IN+ < IN-), а светодиодик на выходе уже начинает светиться. При дальнейшем увеличении DAC OUT1 (IN+) компаратор срабатывает, яркость светодиода растёт. Вопрос - что это за дичь и как получить нормальный цифровой выход? Или я где-то ошибся? Я планировал подключить туда что-то типа К155ТМ2, чтобы аппаратно отключать реле. Я, конечно, понимаю, что в конечном итоге всё будет зависеть от порога срабатывания конкретной микросхемы, подключенной к выходу, но ведь у компаратора по определению должен быть цифровой выход. Пробовал использовать PA11 вместо PA0 - то же самое. Проц вроде настоящий, не пиленый. Это плата NUCLEO-G0B1RE, купленная на Украине в 2019 году, т.е. до всей этой политическо-санкционной хрени. Прилагаю мои исходники либы DAC+COMP dac_comp_lib.c
  4. Вот эта штука https://github.com/Postlast/USB-Blaster_STM32f1 у меня в вин 10 (не виртуалка) нормально взлетела. Quartus 22.1 SE программатор увидел без проблем, Altera MaX2 EPM570 программируется и работает. Там и исходники для кейла есть, можно улучшать 😀
  5. Привет, народ. Имею схожую проблему. В моём случае квартус просто зависает при запуске окна программатора при подключенном программаторе и отвисает обратно при его отключении. Вскрыл свой бластер - пика там нет, там STM32F103C8T6 + буфер-повторитель 74HC244D. Судя по всему тоже ничего не сделать кроме замены программатора? Виртуалка с вин7 ведёт себя также. Пробовал программатор без плисины - квартус тоже повис. PS. Пару-тройку лет назад, когда на компе была вин7 этот же комплект нормально работал, я вообще обо всём вышеописанном и не думал. Тогда же сделал на 100 пиновой EPM570 какую-то мигалку светодиодом, так она до сих пор им исправно мигает 😀 Заметил ещё, что бластер выдает из себя питание 2.6в вместо 3.3, хотя в нём стоит AMS1117-3.3. Дал плисине внешнее питание 3.3в - ничего не изменилось. Правда я не проверил вариант с внешним питанием на win7 виртуалке. Какое было питание 2-3 года назад, я не помню, но работал тогда с питанием от этого бластера.
  6. SDIO на STM32F723

    Поставил себе ENABLE_SD_DMA_CACHE_MAINTENANCE = 1 изменений не увидел. Да и последние байты у бут-сектора 0x55 и 0xAA, они всегда в порядке были бред там в начале буфера.
  7. SDIO на STM32F723

    Про кэши я в курсе, даже не включал их. Попробовал выключить принудительно - получил HardFault. ST-шники в своих примерах делают #if (ENABLE_SD_DMA_CACHE_MAINTENANCE == 1) /* the SCB_InvalidateDCache_by_Addr() requires a 32-Byte aligned address, adjust the address and the D-Cache size to invalidate accordingly. */ alignedAddr = (uint32_t)buff & ~0x1F; SCB_InvalidateDCache_by_Addr((uint32_t*)alignedAddr, count*BLOCKSIZE + ((uint32_t)buff - alignedAddr)); #endif Это оно по-моему и есть, у меня макроса нет и код этот игнорится
  8. SDIO на STM32F723

    ну в смысле число 0xAA55, а байты 0x55 и 0xAA - здесь всё нормально, сравнивал даже с секторным дампом этой же карты на компе
  9. SDIO на STM32F723

    Привет всем Пытаюсь запустить SD карту на проце STM32F723. За основу взял кубовые примеры (мутный он, этот SDIO :D). Там ещё есть SDRAM, SSD1963, QSPI, USB HS - всё пашет без хала. Т.е. на хале сейчас только SDIO. Инит карты проходит с полпинка без проблем - тип карты, размер сектора, кол-во секторов, всё проходит идеально с полпинка. Пытаюсь читать сектор, ошибок не даёт, но читается какой-то мусор (всегда вроде одинаковый), fatFS естественно падает на взлёте (чего тут ещё ожидать-то). Если надо, могу выложить содержимое 0 сектора настоящего (с компа) и то, что сие SDIO прочитало. Но сигнатура 0x55AAв конце нормальная. Такое ощущение, что оно как-то не так или не туда читает. Читаю через DMA. Пытался читать polling-функциями - столкнулся с ошибками каких-то переполнений, то там, то сям. На ST-шных форумах нашёл, что, мол, поллинг часто не успевает, используйте DMA. Конкретно у меня Transcend 10 класса, 32 гига. Ещё советовали понижать частоту SD карты. Поставил 6 MHz, как там сказали - какие-то сектора начали читаться, но какие-то дают мусор. Кто-то подобрал к нему ключик? Спасибо. STM32F723-SDIO.zip
  10. Прикольный баг. Я такого не замечал, но виндозным терминалом никогда не пользовался, работал в этом - https://digitalchip.ru/terminal-1-9b-rabotaem-s-com-portom/ и команды всегда вводил ТОЛЬКО большими буквами. Зато могу поделиться другим багом - у меня 2 модуля, оба работают в режиме FU2. В этом режиме у модуля пониженное энергопотребление с прослушкой эфира. При этом куча ограничений - скорость только 4800 и какие-то задержки при передаче. Плюс ещё и длинные последовательности байт (по моим наблюдениям больше 10) не передаёт. Но мне этого оказалось достаточно. Так вот, один из модулей при входе в командный режим (SET:=0) всегда включает скорость уарта 9600, другой то включит 9600, то так и остаётся на 4800. Пришлось сделать в прошивке проца хак - сперва он стучится в модуль по 4800, если тот не ответил - врубает 9600. Только после этого система стабильно заработала. Процы у меня - один STM32F030, другой - STM32L152. И ещё раздражает то, что невозможно переключить радиоканал без запоминания его в EEPROM управляющего STM8. Где-то попадалась статья, чуваки пытались поменять STM8 на какой-то STM32, но там, по-моему, дело ничем внятным не закончилось.
  11. Ясно-понятно. Спасибо.
  12. Привет всем. Столкнулся с таким моментом - если проц, подключенный к программатору не отвечает (в моём случае был выставлен режим внешнего кварца, которого на плате вообще нет), то не читается даже версия прошивки самого программатора. Когда я воктнул его в другую плату, где есть кварц и target отвечает - всё нормально заработало. Подскажите - это баг прошивки или супер-мега-фича для вызова у людей холодного пота и мыслей про сдохший программатор? Тыкался в CvAVR. Спасибо.
  13. QSPI не позволяет записывать в память в memory-mapped режиме. Он read-only.
  14. Спасибо, гляну. Я от SDRAM немного отвлёкся, запустил QSPI память w25n01gv, вроде пашет, но частоту выше 16.5 МГц поднять не могу - обмен виснет на опросе какого-то флага. Вожусь пока. Что касается SDRAM, то нашёл, что нога PC2 (сигнал NE0 - nCS) у этого проца двойным дном, по дефолту там сидит АЦП. Добавил в инит пинов SYSCFG->PMCR |= SYSCFG_PMCR_PC2SO; перед манипуляциями с GPIO регистрами. Улучшений пока не заметил. MPU пока выключил, на простую запись/чтение не влияет, а обо всём остальном говорить пока рано.
  15. Разводили сами в альтиуме (под Ф439+такой же SDRAM, который с полпинка взлетел тоже также разводили), заказывали в Китае. Дорожки рисовали руками с контролем длины. В принципе могу выложить альтиумные файлы, секретного там ничего нет, по сути макетка для разборок с этим процом. Плата 6-слойная (Ф439 - 4 слойная была). Настройки чипа взял из того же 439. Что такое "умощнение" внутреннего генератора частоты для работы? Приложил схему синхронизации из куба. FMC там виден. STM32H743I_EVAL вроде смотрел, пересмотрю ещё раз, может прогавил чего.
×
×
  • Создать...