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

Скорость работы ЖКИ через I2C


espn

Рекомендуемые сообщения

30 минут назад, espn сказал:

А что может нравится

Ну так и что ты тут тогда делаешь, если не нравится? Хотяяя, дай угадаю. За кордоном ты нафиг никому не нужен.

 

30 минут назад, espn сказал:

Что удивительно, в Союзе была идентичная ситуация, только тогда Запорожец был по цене Мустанга

Да что ты говоришь. Вот только в Союзе машины и не были особо нужны, общественный транспорт копеечный был. И нафиг мне морочить голову с содержанием машины, когда везде можно доехать на том же автобусе/метро/поезде/самолете? Тот же Китай, кстати, активно идет к максимальной доступности транспорта.

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

4 минуты назад, Martian сказал:

Однако, если у микроконтроллера есть DMA (STM32), то работа через I2C будет существенно автоматизирована в плане пересылки данных в дисплей. И лишь когда вы взяли STM32 с модулем FSMC,

Во-первых, I2C вещь крайне нестабильная даже в пределах одной платы. Во-вторых, через DMA автоматизируется любой интерфейс, и в куда больше степени, чем I2C.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

34 минуты назад, BARS_ сказал:

I2C вещь крайне нестабильная даже в пределах одной платы.

Кто вам такую ерунду сказал? Может хреново сделанный неграмотным студентом и "нестабильный", а вообще-то это вполне себе отработанный, стандартизованный и надёжный протокол связи, рекомендованный IEEE. :)

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

14 минут назад, Lexter сказал:

Кто вам такую ерунду сказал?

Эрраташиты и опыт, мой и других разрабов. Надежность его около нулевая. В процессе работы он может повиснуть вообще только так, чего с тем же SPI не случается никогда. Причем длина линии может быть и 10 мм, и 1 м, разницы не будет. Повиснет и там, и там. Речь, если что, именно про аппаратные модули I2C. Поэтому обработка ошибок шины строго обязательна.

Ссылка на комментарий
Поделиться на другие сайты

Если бы I2C был нестабилен в пределах одной платы, его бы не ставили в качестве интерфейса управления разного рода микросхемами, типа DSP или контроллера тачскрина.
"Вы любите кошек? -- Нет. -- Вы просто не умеете их готовить!" :) 
Повиснет или нет - это зависит от криворукости программиста, не обрабатывающего все события шины, особенно такие как потеря арбитража или NACK на любом этапе обмена.

Ну а чтобы полноценно автоматизировать параллельный интерфейс этого дисплея на HD44780, нужно использовать аппаратный модуль именно с автоматическим формированием шинных сигналов стробирования записи. Этому требованию отвечает FSMC в STM32.

Я 

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, Martian сказал:

Если бы I2C был нестабилен в пределах одной платы, его бы не ставили в качестве интерфейса управления разного рода микросхемами, типа DSP или контроллера тачскрина.

А он и нестабилен, но он является мультидевайсной шиной, потому и применяют. Никто не будет тащить SPI по всей плате и юзать для этого целое стадо выводов проца.

 

8 минут назад, Martian сказал:

это зависит от криворукости программиста, не обрабатывающего все события шины, особенно такие как потеря арбитража или NACK на любом этапе обмена.

Не события, а именно ошибки, которые возникают просто из ниоткуда.

 

26 минут назад, Martian сказал:

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

Нужно правильно использовать ногодрыг, не более.

Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, BARS_ сказал:

Нужно правильно использовать ногодрыг, не более.

А вы пробовали FSMC и вообще интересовались, откуда есть пошла такая шина? :) А вот попробуйте-поинтересуйтесь. Когда сделаете через FSMC, никакого ногодрыга не понадобится - шинные сигналы стробирования формируются автоматически модулем FSMC при обращении по адресу девайса, расположенного на параллельной шине. Вся работа сводится просто к записи байта по установленному адресу.

8 минут назад, BARS_ сказал:

именно ошибки, которые возникают просто из ниоткуда.

Вдруг бывает только пук :) По крайней мере, для нужд дисплея, где есть только однонаправленная передача байтов, I2C не таит никакой опасности.
У топикстартера Raspberry Pico, как уж там работает модуль I2C, я не знаю.

Я 

Ссылка на комментарий
Поделиться на другие сайты

8 минут назад, Martian сказал:

А вы пробовали FSMC

Естественно, к нему очень мило подключаются дисплеи с шиной 8080 и получается очень даже неплохие GUI рисовать. Ну и память, конечно.

 

9 минут назад, Martian сказал:

Вся работа сводится просто к записи байта по установленному адресу.

Я это прекрасно знаю. Но для такого дисплей FSMC слишком жирно. Такие скорости ему и близко не нужны. Поэтому берем дешманский МК, и делаем ногодрыг, либо сдвиговый регистр по spi цепляем.

Ссылка на комментарий
Поделиться на другие сайты

8 часов назад, Martian сказал:

отпадает необходимость в выдерживании таймингов большинства команд

Не надо там никакие тайминги выдерживать - о готовности к приёму следующей команды 44780 сообщает, сбрасывая busy flag.

Ссылка на комментарий
Поделиться на другие сайты

40 минут назад, BARS_ сказал:

Но для такого дисплей FSMC слишком жирно. Такие скорости ему и близко не нужны.

Думаете, только в скорости обмена дело чтоль? 

  

38 минут назад, Огонёк сказал:

о готовности к приёму следующей команды 44780 сообщает, сбрасывая busy flag

Это если задействован вывод WR. А он может и не использоваться для экономии ног.

Изменено пользователем Martian

Я 

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, Martian сказал:

только в скорости обмена дело чтоль? 

Нет, еще в "жирности" и бестолковости камня для этого, у которого минимум 100 ног должно быть, если речь об STM32, в трате полезного "железного" ресурса на бестолковый вывод данных на символьный дисплей, где такая скорость работы, что ногодрыг покрывает потребности с запасом, и т.д.

Ссылка на комментарий
Поделиться на другие сайты

А откуда вам знать? :) Как будто одним дисплеем всё и ограничивается. Тем более, что параллельный интерфейс дисплея даже в минимальной его конфигурации отнимает аж 6 ног (DB7...DB4, E, RS), а в полной - и все 11. А скорость работы не сказать чтобы уж и маленькая - около 40 мкс на цикл вывода одной команды/символа. Не большая, но и не маленькая. Средняя. Зависит от частоты микроконтроллера.

Вот потому и родилось предложение в виде I2C для малых проектов. И ног мало отнимает, и работает без лишних затрат - отправил байт и готово. 

Кто говорит про сбойность интерфейса I2C - тот просто не умеет его готовить!

Я 

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, BARS_ сказал:

Надежность его около нулевая. (I2C)

Срочно расскажите это всем, кто торгует I2C ЦАПами и АЦП. А то торгуют какашками, и не подозревают. Это ж от скольких рекламаций вы их спасёте! Они вас миллиардером сделают за такую ценную информацию. :D

I2C Digital to Analog Converters.

I2C Analog to Digital Converters - ADC.

Ссылка на комментарий
Поделиться на другие сайты

15 минут назад, Lexter сказал:

Срочно расскажите это всем

А им єто не надо,  они и сами об этом знают...
и статей на эту тему туева куча как на могучем, так и на наглицком. одна из многих: http://kmpu.ru/other/bus_i2c/index.html

Ссылка на комментарий
Поделиться на другие сайты

А хотите прикол? :) Есть еще более "идиотическая" шина - CAN! :) Там ваще капсдец - там несколько устройств могут одновременно передавать чето в линию. Вот просто бац - и все сразу! :) А для разруливания этой каши придуматы доминантные и рецессивные состояния. И несмотря на эту "идиотию", CAN применяется в автомобилях повсеместно для коммуникации между евоным оборудованием.

Я 

Ссылка на комментарий
Поделиться на другие сайты

23 часа назад, Dӧppelganger_857 сказал:

1) что вы думаете про китаёзный RLC XJW-01 в контексте домашней любительской "лаборатории",

Ничего не думаю, не видел.

23 часа назад, Dӧppelganger_857 сказал:

2) где в текущее время можно разжиться LM399? Вопрос выглядит, скорее всего, глупо (есть конторы, которые могут купить по заказу, например, лот на ебее и доставить в рф), но у вас я хотел бы всё-таки поинтересоваться, может ещё что есть.

Лот на ибее с приваренными ногами ? Нет, спасибо, я лично воздержусь :)

В Элитане лучше купить. Там и 399 и 1399 есть на заказ. Новые, фирменные, а не из помойки.

7 часов назад, espn сказал:
13 часов назад, BARS_ сказал:

Еще раз. Не нравится - ВАЛИ.

А что может нравится

Теперь и я скажу - ВАЛИ И УМОЛЯЮ, НЕ ВОЗВРАЩАЙСЯ.

Там рассказывать будешь про нравится.... не нравится. А тут суровые русские мужики, если чо не нравится, мы решаем проблему, а не ноем на форуме.

Изменено пользователем shodan_micron_servis

Мой блог: https://ampnuts.ru

Ссылка на комментарий
Поделиться на другие сайты

14 часов назад, Martian сказал:

Кто говорит про сбойность интерфейса I2C - тот просто не умеет его готовить!

Скорее те, кто говорит про его супер надежность просто с ним никогда не работали.

 

12 часов назад, Martian сказал:

Есть еще более "идиотическая" шина - CAN! :) Там ваще капсдец - там несколько устройств могут одновременно передавать чето в линию. Вот просто бац - и все сразу! :) А для разруливания этой каши придуматы доминантные и рецессивные состояния.

С CAN, я смотрю, тебе работать тоже не довелось и фишка с авторазруливанием коллизий на линии тебе неведома. А между прочем это очень удобная шина, да и быстрая.

 

13 часов назад, Lexter сказал:

Срочно расскажите это всем, кто торгует I2C ЦАПами и АЦП. А то торгуют какашками, и не подозревают.

Еще раз. Ты хоть раз работал с этой шиной или просто пустой треп?

 

13 часов назад, Lexter сказал:

А то торгуют какашками, и не подозревают.

С их скоростями работы можно и 10 раз переспросить в случае ошибки на шине. Еще раз, для тех, кто в танке. Тот же SPI просто невозможно отправить в состояние ошибки. Вот что не делай, не будет он падать в ошибку. Зато I2C туда уронить проще простого. А если еще и программист недостаточно внимателен, то шина никогда не вернется из ошибки.

 

 

Ссылка на комментарий
Поделиться на другие сайты

4 часа назад, Гость_Григорий_Т. сказал:

Что вкуснее, Омары или Крабы?

Огурцы с котлеткой под водочку! :)

7 часов назад, BARS_ сказал:

те, кто говорит про его супер надежность просто с ним никогда не работали

Про супернадежность никто не говорит. I2C выполняет свои задачи в своей сфере. А если у вас передача в единственный на шине I2C дисплей зависает, то вы просто "не умеете готовить кошек" :) Серьезно.

Про CAN - мне доводилось весьма немало с ним работать. Нет там никаких магических фишек, там всё основано на анализе состояния линии в момент передачи. И он так же как I2C имеет подтяжки линии.

Для каждого интерфейса - своя область применения, свои достоинства и недостатки. CAN в пределах одной платы ставить невыгодно. I2C на большие расстояния не протянешь. SPI работает в основном с одним-двумя-тремя устройствами. Параллельный работает на коротких расстояниях и отнимает очень много ног и дорожек платы. UART универсален и предельно прост. USB сложен в реализации. Ну и так далее.

Я 

Ссылка на комментарий
Поделиться на другие сайты

21 минуту назад, Martian сказал:

Про CAN - мне доводилось весьма немало с ним работать. Нет там никаких магических фишек, там всё основано на анализе состояния линии в момент передачи.

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

 

22 минуты назад, Martian сказал:

И он так же как I2C имеет подтяжки линии.

Дифпара имеет подтяжки линий? Серьезно? А ты точно с CAN работал? Там только терминатор ставится.:lol2:

 

23 минуты назад, Martian сказал:

I2C на большие расстояния не протянешь

2м по витой паре спокойно. Другое дело, что там скорости мизерные и арбитраж шины в очень зачаточном состоянии.

 

24 минуты назад, Martian сказал:

А если у вас передача в единственный на шине I2C дисплей зависает

Еще раз, при наличии обработки ошибок с перезапуском шины при отвалах - не зависает. Вот только другие интерфейсы не виснут и без этих плясок с бубном.

 

25 минут назад, Martian сказал:

Параллельный работает на коротких расстояниях и отнимает очень много ног и дорожек платы

Зато дает очень высокие скорости работы.

Ссылка на комментарий
Поделиться на другие сайты

3 минуты назад, BARS_ сказал:

А ты точно с CAN работал?

А вы с MAX485 работали? Тоже дифпара. Попробуйте без резисторов. А потом ТЫ будешь рассказывать, как там получилося :) 
 

4 минуты назад, BARS_ сказал:

Вот только другие интерфейсы не виснут и без этих плясок с бубном.

Эт вы еще не пробовали USB :) понапляшетесь с тремя бубнами

11 минут назад, BARS_ сказал:

Зато дает очень высокие скорости работы.

Зачем высокая скорость дисплею на HD44780, у которого, как я ранее трижды писал, минимум 40 мкс на команду?

Я ж и говорю - каждый интерфейс занимает свою нишу, у каждого свои достоинства и недостатки. Абсолютного идеала не существует. 

14 минут назад, BARS_ сказал:

с перезапуском шины при отвалах

А с чего она вдруг должна отвалиться, если на шине висит один дисплей, работающий в слейве только на прием? И дисплей не вытаскивают из разъема во время работы. Я ж говорю - вы просто не умеете готовить кошек :) 

Я 

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, Martian сказал:

А вы с MAX485 работали? Тоже дифпара. Попробуйте без резисторов

Работал, у меня целые стойки блоков были связаны между собой по 485. Никаких резисторов там не было. Микрухи был, правда, от AD, но сути не меняет. Причем это были БП, и в стойке кабеля RS проходили рядом с шиной 380В постоянки. И ничего, на 115200 сбоев не было вообще. А резисторы на 100К я начал ставить лишь для того, чтобы шина не ловила помехи когда блоки в стойку не установлены.

 

7 минут назад, Martian сказал:

Эт вы еще не пробовали USB

Представь себе, пробовал. И вполне успешно. Вообще никаких плясок нет. Подтяжка нужна всего одна, на 1,5К, чисто для того, чтобы устройство сдетектилось при подключении  к ПК. Максимум, что там можно поставить - антизвонные резисторы, Ом на 20 в разрыв D+/D-. Но это уже совсем другая история.

11 минут назад, Martian сказал:

А с чего она вдруг должна отвалиться, если на шине висит один дисплей, работающий в слейве только на прием?

А потому что прочти внимательно работу I2C на том же STM. Ну и Errata заодно.

 

11 минут назад, Martian сказал:

Зачем высокая скорость дисплею на HD44780, у которого, как я ранее трижды писал, минимум 40 мкс на команду?

Наверно затем, что я тебе сразу сказал, что FSMC тут как из пушки по воробьям и ногодрыга хватает с головой.

Ссылка на комментарий
Поделиться на другие сайты

"Поздравляю, Шарик, ТЫ балбес" :D 

11 минут назад, BARS_ сказал:

прочти внимательно работу I2C на том же STM. Ну и Errata заодно.

Я это читал еще раньше, чем ТЫ :)  Но если ТЫ, Шарик, судишь об IC2 только на основании неудачного модуля в STM32F103, то это еще НЕ означает, что весь интерфейс I2C в целом косячный. Просто ТЫ не умеешь с ним РАБОТАТЬ! Вот в чем ТВОЯ проблема. Проблема в ТЕБЕ, а не в интерфейсе :) 

15 минут назад, BARS_ сказал:

FSMC тут как из пушки по воробьям

Но если он есть конкретно в том МК, то почему не использовать его для дисплея, а делать дрыг ногами? Понимаешь, чувак, тут дело не в принципе, а дело в выборе инструмента. Вот когда ТЫ научишься это различать, тогда и будешь успешным :) 

Я 

Ссылка на комментарий
Поделиться на другие сайты

Только что, Martian сказал:

Просто ТЫ не умеешь с ним РАБОТАТЬ! Вот в чем ТВОЯ проблема. Проблема в ТЕБЕ, а не в интерфейсе

Еще раз, для тех кто в танке. Я работал с ним на разных МК и готовить его умею явно получше тебя. Не год и не два работаю с МК.

 

 

Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

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