‮Сдвиг по фазе (kincajou) wrote in ru_radio_electr,
‮Сдвиг по фазе
kincajou
ru_radio_electr

Categories:

Управление графическим дисплеем с контроллером ST7920 при помощи SPI: странная проблема

Даташит гласит, что период тактового сигнала должен быть не менее 400 нс при питании 4.5В и не менее 600 нс при питании 3.3В.

Однако, эксперимент показал, что модуль ЖКИ работает корректно только если снизить частоту клока SPI ниже примерно 60 кГц (то есть, период от 17 мкс и выше). Модуль питается от 5В, интерфейс от STM32F030 без преобразования уровней (т.к. это, по-идее, не требуется - логические уровни все в нужных пределах).

Собсно, проблема в том, что аппаратный SPI не позволяет снизить частоту SPI до такой величины, даже на самом большом делителе (:256) при штатной частоте ядра (48 МГц) получается в десять раз больше чем может прожевать дисплей. Выяснилось написанием софтового SPI, с которым всё внезапно заработало (но это корявое решение, чего бы мне не хотелось).

Как так вышло, что теория так сильно расходится с практикой? Это дисплей дефективный (там вроде есть тактовый генератор - мож, наши узкоглазые друзья какой неправильный номинал поставили) или я чего-то не понимаю? Или китайские наносекунды отличаются от общепринятых?

Ещё настораживает то, что по документации контроллер может работать от напряжения даже 2.7В, но от 3.3 вольт он не завёлся.




Решено: виноваты настройки SPI (см. в комментах). Но от 3.3В всё равно не работает...
Tags: Вопрос, Дурацкий
Subscribe
  • Post a new comment

    Error

    Comments allowed for members only

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 6 comments