Xenia 45 26 августа, 2020 Опубликовано 26 августа, 2020 · Жалоба 4 минуты назад, MementoMori сказал: Так я вам и сказал - его нужно просто указать, но на функции чтения и записи это не влияет. На код функций чтения и записи это не вляиет, но может влиять на протокол обмена. Экономия одного лишь бита дает выигрыш в скорости передачи на 4% :) (шутка). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 27 августа, 2020 Опубликовано 27 августа, 2020 · Жалоба Ксения, не буду пока высылать вам свой код - я его корежить начал и у меня не все работает. Повторю свою рекомендацию - откройте пример для платы под соответствующий чип, на сайте ST они есть А у меня пока вот какая странность- не могу нормально запустить DDR режим. Что я делаю: 1. Включаю s_command.Instruction = QUAD_INOUT_FAST_READ_CMD; ( код 0xEB) s_command.DdrMode = QSPI_DDR_MODE_ENABLE; Читается 0xFF; А дальше самое интересное - нахожу в даташите от другой микросхемы MT25TL01G команду QUAD_INOUT_FAST_READ_DTR_CMD; (0xED) - она для DDR режима. Лезу в даташит на W25Q128 - там про нее ни слова. Но пробую заменить команду 0xEB на 0xED. И о чудо - все работает но есть нюанс - смещено на 2 байта почему-то. Тогда я игнорируя рекомендацию даташита от ST меняю QSPI_SAMPLE_SHIFTING_NONE на QSPI_SAMPLE_SHIFTING_HALFCYCLE Получаю смещение на 1 байт в обратную сторону Что делать? Инициализация QSPI такая QSPIHandle.Init.ClockPrescaler = 6; QSPIHandle.Init.FifoThreshold = 16; QSPIHandle.Init.SampleShifting = QSPI_SAMPLE_SHIFTING_NONE; QSPIHandle.Init.FlashSize = 23; QSPIHandle.Init.ChipSelectHighTime = QSPI_CS_HIGH_TIME_7_CYCLE; QSPIHandle.Init.ClockMode = QSPI_CLOCK_MODE_0; QSPIHandle.Init.FlashID = QSPI_FLASH_ID_1; QSPIHandle.Init.DualFlash = QSPI_DUALFLASH_DISABLE; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 27 августа, 2020 Опубликовано 27 августа, 2020 · Жалоба ЭВРИКА! Надо было увеличить DUMMY_CYCLES на 2! Правда работает это почему-то только в MemoryMapped Mode. Обычное чтение в ДДР режиме читает с ошибками. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 27 августа, 2020 Опубликовано 27 августа, 2020 (изменено) · Жалоба Может быть поможет... Можете распечатать ответы вашего чипа и узнать, какие коды команд и с каким количством dummy cycles подерживаются. Или делать по датиашиту. JESD216.pdf Изменено 27 августа, 2020 пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 31 августа, 2020 Опубликовано 31 августа, 2020 · Жалоба Приехал осциллограф! Посмотрел я клок и вот что увидел. На частоте 25 МГц ( один квадрат = 1 вольт, то есть минимум - 0.7 вольт, максимум 2.6 вольт) Поддаем газку - 35 МГц Амплитуда меняется мало, но сигнал съезжает вверх. Щупы осциллографа включены в режим 1:10. Важные моменты: 1. Прикосновение щупом немного портит сигнал. 2. Сигнал на разъеме практически идентичен сигналу на пине контроллера. Что скажете, господа? Отключение дисплея практически приводит сигнал в норму Я уж было решил, что проблема в самом дисплее, но не тут-то было. Ставлю пиксельклок на 50 МГц Для сравнения - клок SDRAM на 50 МГц, SDRAM прекрасно работает Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 31 августа, 2020 Опубликовано 31 августа, 2020 · Жалоба 20 minutes ago, MementoMori said: Что скажете, господа? Настройки пинов проверьте (OSPEED). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 31 августа, 2020 Опубликовано 31 августа, 2020 · Жалоба 14 minutes ago, aaarrr said: Настройки пинов проверьте (OSPEED). Вот же ж черт..... Когда я разбирался со SDRAM, я специально полез в настроки и увидел, что калокуб настраивает пины на VeryHigh. Я решил, что этот момент у них продуман. И даже мысли не возникало когда были проблемы с дисплеем. Глянул - а там все в Low..... В принципе в этом тоже есть дальновидность разработчиков, в основном то проекты на мелких дисплеях, там частоты не более 10-15 МГц. В общем, перенастроил я и вуаля И дисплей заработал даже на 51 МГц. В принципе хватает, но я решил достигнуть документированного в даташите максимума (для контроллера то ли 70, то ли 80 МГЦ). И вот примерно на 53 МГц отладчик теряет связь с контроллером и генерация пропадает. Подобное отваливание я наблюдал и тогда, когда настраивал различные выходы (MCO1, PixelCLock) на очень низкие, менее 1 МГц частоты - дисконнект и даже после вырубания питания контроллер можно прошить только если нажать предварительно RESET, то есть какая-то глобальная проблема с тактированием. Что это может быть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 31 августа, 2020 Опубликовано 31 августа, 2020 · Жалоба И QSPI заработало на 66 МГц!!! Уж ее то выходы зачем нужно было в Low? Правда читается неправильно, но у меня и на низких частотах была та же проблема, а это уже совсем другая история. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 31 августа, 2020 Опубликовано 31 августа, 2020 · Жалоба 40 minutes ago, MementoMori said: В принципе в этом тоже есть дальновидность разработчиков, в основном то проекты на мелких дисплеях, там частоты не более 10-15 МГц. Да какая уж тут дальновидность, забыли тупо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 31 августа, 2020 Опубликовано 31 августа, 2020 · Жалоба 9 minutes ago, aaarrr said: Да какая уж тут дальновидность, забыли тупо. Насколько я знаю, если некая линия не предполагает высокочастнтных сигналов, то ее лучше настроить в LOW, дабы не звенела и не создавала помех, не так ли? Так вот до 30 МГц пиксельклока на линиях все в норме. А дисплею 800х480 30 МГц за глаза. А все их отладочные платы не более 472х280 (одна какая-то есть на 640х480) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 31 августа, 2020 Опубликовано 31 августа, 2020 · Жалоба 16 minutes ago, MementoMori said: Насколько я знаю, если некая линия не предполагает высокочастнтных сигналов, то ее лучше настроить в LOW, дабы не звенела и не создавала помех, не так ли? справедливо, но - 40 minutes ago, MementoMori said: И QSPI заработало на 66 МГц!!! Уж ее то выходы зачем нужно было в Low? Как есть профукали. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 1 сентября, 2020 Опубликовано 1 сентября, 2020 · Жалоба 7 hours ago, aaarrr said: 7 hours ago, MementoMori said: QSPI заработало на 66 МГц!!! Уж ее то выходы зачем нужно было в Low? Как есть профукали А вот тут категорически согласен) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 1 сентября, 2020 Опубликовано 1 сентября, 2020 · Жалоба 12 hours ago, aaarrr said: Настройки пинов проверьте (OSPEED). У меня ещё такой вопрос. Насколько можно верить осциллограф в плане формы сигнала? Выше я привёл осциллограмме клока sdram на 50 МГц, так вот звон на ней на порядок сильнее чем при моделирование в Hyperlynx на 90 МГц. Может ли это быть результатом искажения сигнала у щупе? Провод то длинный. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 1 сентября, 2020 Опубликовано 1 сентября, 2020 · Жалоба 1 hour ago, MementoMori said: Может ли это быть результатом искажения сигнала у щупе? Провод то длинный. Как минимум земля щупа должна быть подключена пружиной рядом с иглой, а не отводом с крокодилом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MementoMori 4 1 сентября, 2020 Опубликовано 1 сентября, 2020 · Жалоба 22 hours ago, aaarrr said: Как есть профукали. Кстати, из интереса создал проект в кубе для F746 и для H743. В первом случае qspi порты инициализирутся автоматом как VeryHigh, во втором - как Low. Это атас, господа!!!!!!!!!!!! А я еще, помните, удивлялся, что проблема странным образом появилась когда я на 743 камень перешел))) Все искал отличия в работе qspi... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться