Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

Модель UG-2864HSWEG01 в Proteus 8.7 глючная?

Непрочитано 11.10.2018, 02:05  
Donker
Временная регистрация
 
Регистрация: 12.09.2018
Сообщений: 92
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Donker на пути к лучшему
По умолчанию Re: Модель UG-2864HSWEG01 в Proteus 8.7 глючная?

Спасибо, мне уже подсказали.

Теперь новая проблема:
https://radiokot.ru/forum/viewtopic.php?f=57&t=157856

Ступенька появилась на датаграмме, и никаких признаков нормальной работы.
Реклама:
Donker вне форума  
Непрочитано 12.10.2018, 00:18  
Donker
Временная регистрация
 
Регистрация: 12.09.2018
Сообщений: 92
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Donker на пути к лучшему
По умолчанию Re: Модель UG-2864HSWEG01 в Proteus 8.7 глючная?

Новая версия проекта c аппаратным I2C:
https://radiokot.ru/forum/download/file.php?id=316127

В Протеусе глючит так же как и версия с ногодрыгом.

В железе работает, но вывод цифр зависает в среднем после 10 циклов, скорее всего не получает сигнал ACK.

У кого какие идеи?

Кстати, дисплей заметно мерцает, на фото выше видно тёмную полосу, она движется заметно глазу с циклом около 30 гц.
Donker вне форума  
Непрочитано 14.10.2018, 00:25  
Donker
Временная регистрация
 
Регистрация: 12.09.2018
Сообщений: 92
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Donker на пути к лучшему
По умолчанию Re: Модель UG-2864HSWEG01 в Proteus 8.7 глючная?

На плате экрана стоит линейный стабилизатор на +3,3v серии XC6206
в корпусе SOT-23, по датащиту на входе и выходе у него должны стоять керамические конденсаторы не менее 1мкФ, на самом деле, на входе не было никакого конденсатора, я отпаял от сломанной материнки два конденсатора 0608 по 4,7мкФ неизвестного типа, сначала припаял один на вход, ничего не изменилось, потом второй на выход, исчезло вышеописанное мерцание, и вот уже 60 минут проект с аппаратным I2C
работает без зависания.

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

В Протеусе резисторы менял от 1к до 10к ничего не изменилось.

Вопрос: что такое надо сделать в Протеусе что бы в данной схеме увидеть
размах сигнала I2C в осциллографе 3,3 вольта?
Donker вне форума  
Непрочитано 14.10.2018, 06:09  
ProtAS-13
Вид на жительство
 
Регистрация: 17.03.2015
Сообщений: 308
Сказал спасибо: 0
Сказали Спасибо 229 раз(а) в 131 сообщении(ях)
ProtAS-13 на пути к лучшему
По умолчанию Re: Модель UG-2864HSWEG01 в Proteus 8.7 глючная?

Сообщение от Donker Посмотреть сообщение
Осталось только разобраться с глюками Протеуса
Так и отличий в новой версии от "ногодрыга", с точки зрения структуры передачи команд, нет никаких. Почитайте что ранее мы обсуждали и какой вывод был сделан.
Сообщение от Donker Посмотреть сообщение
Вопрос: что такое надо сделать в Протеусе что бы в данной схеме увидеть размах сигнала I2C в осциллографе 3,3 вольта?
В данной ситуации, используются две цифровые модели: MCU и LCD, а значит и симуляция идет на цифровом уровне, т.е. Proteus оперирует не физическими величинами (напряжение, ток), а состояниями контактов (SLO, WHI, ...), хотя МК и переведен в "смешанный режим". Потому, в данном случае, "размах сигнала" для симулятора важен лишь в том смысле, что он должен соответствовать заданным уровням лог. 0 и 1. А т.к. в схеме лишь подтягивающие резисторы, то на выходе будет получен сигнал максимальной амплитуды.
Хотите другую амплитуду - ставьте резисторы на землю. Вот только это абсолютно ничего не даст, т.к. условия соответствия лог. уровням уже соблюдены, а выход из этих уровней нарушит работоспособность схемы.
ProtAS-13 вне форума  
Непрочитано 14.10.2018, 12:12  
Donker
Временная регистрация
 
Регистрация: 12.09.2018
Сообщений: 92
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Donker на пути к лучшему
По умолчанию Re: Модель UG-2864HSWEG01 в Proteus 8.7 глючная?

ProtAS-13, вы свой проект на реальном экране проверяли, он там нормально работает?
Donker вне форума  
Непрочитано 14.10.2018, 13:49  
ProtAS-13
Вид на жительство
 
Регистрация: 17.03.2015
Сообщений: 308
Сказал спасибо: 0
Сказали Спасибо 229 раз(а) в 131 сообщении(ях)
ProtAS-13 на пути к лучшему
По умолчанию Re: Модель UG-2864HSWEG01 в Proteus 8.7 глючная?

Сообщение от Donker Посмотреть сообщение
ProtAS-13, вы свой проект на реальном экране проверяли, он там нормально работает?
Если бы у меня был этот дисплей, то стал бы я просить Вас тестировать код в железе?
Я тестировал исключительно примитив SSD1306 Proteus'а, чтобы понять все его возможности и применяемы в нем функциональные и временные свойства.
Но похоже, придется со следующей аказией прикупить дисплейчик с данным контроллером и сваять какую-нибудь developer board с Atmeg'ой.
Добавлю.
Если Вы решитесь перевести свой код в старт-стопный режим, несмотря на то, что в железе "и так работает", то следующими шагами были бы тонкие настройки примитива SSD1306 свойствами SDSETUP, SCLWIDTH и SASETUP.
Все это я мог бы и сам сделать в Вашем коде и отладить в Proteus'е, но, в данной ситуации, важна, именно, работоспособность кода в железе.

Последний раз редактировалось ProtAS-13; 14.10.2018 в 14:15.
ProtAS-13 вне форума  
Непрочитано 14.10.2018, 17:05  
Donker
Временная регистрация
 
Регистрация: 12.09.2018
Сообщений: 92
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Donker на пути к лучшему
По умолчанию Re: Модель UG-2864HSWEG01 в Proteus 8.7 глючная?

Мы такое уже пробовали:

Код:
void OLED_INIT (void)  //ИНИЦИАЛИЗАЦИЯ ДИСПЛЕЯ
{
  unsigned char k;
  for(k=0;k‹18;k++)
  {
    START();
    SEND(NAME);
    SEND(COM);
    SEND(pgm_read_byte(init+k));
    STOP();
  }
}
Это не сработало.

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

К сожалению, видимо этот примитив писался по датащиту, а в датащите была ошибка, или производитель SSD1306 ввёл недокументированные изменения в контроллер.
Может мои экранчики сделаны на ssd1309:

Последний раз редактировалось Donker; 14.10.2018 в 18:34.
Donker вне форума  
Непрочитано 14.10.2018, 18:50  
ProtAS-13
Вид на жительство
 
Регистрация: 17.03.2015
Сообщений: 308
Сказал спасибо: 0
Сказали Спасибо 229 раз(а) в 131 сообщении(ях)
ProtAS-13 на пути к лучшему
По умолчанию Re: Модель UG-2864HSWEG01 в Proteus 8.7 глючная?

Сообщение от Donker Посмотреть сообщение
Мы такое уже пробовали:
Пробовать то мы пробовали, вот только в новой версии кода все по старому:
Нажмите, чтобы открыть спойлер
Код:
void SSD1306_I2C_INIT (void)  //ИНИЦИАЛИЗАЦИЯ ДИСПЛЕЯ
{
  I2C_Start();
  I2C_SendByte(NAME);
  for(unsigned char i=0; i‹18; i++)
  {
    I2C_SendByte(COM);
    I2C_SendByte(pgm_read_byte(init+i));
  }
  I2C_Stop();
}
и
Код:
  for(unsigned char k=0; k‹5; k++)
  {
    I2C_Start();
    I2C_SendByte(NAME);			
    I2C_SendByte(COM);
    I2C_SendByte(0x21);		//Set Column Address (21h)
    I2C_SendByte(COM);
    I2C_SendByte(115);		//будем выводить между 115...
    I2C_SendByte(COM);
  ...

Такой код, как мы выяснили, в Proteus'е будет работать неверно.
Сообщение от Donker Посмотреть сообщение
Если вы о том, что надо таким образом передавать данные
Речь идет только о передачи команд - данные мы не трогаем.
Сообщение от Donker Посмотреть сообщение
Может мои экранчики сделаны на ssd1309:
Из видео не понял, какая библиотека работает неверно. Если не трудно, расшифруйте, проанализирую код - тогда будет предметный разговор.
ProtAS-13 вне форума  
Непрочитано 15.10.2018, 19:47  
ProtAS-13
Вид на жительство
 
Регистрация: 17.03.2015
Сообщений: 308
Сказал спасибо: 0
Сказали Спасибо 229 раз(а) в 131 сообщении(ях)
ProtAS-13 на пути к лучшему
По умолчанию Re: Модель UG-2864HSWEG01 в Proteus 8.7 глючная?

Наконец то мне доперло, по поводу индикации цифр в симуляторе.
Вы как раз наткнулись на глюк примитива SSD1306, который я привел в посте #3 - самая первая установка адреса знакомест работает неверно.
Можно конечно программным способом исправить это (см. рис), но подгонять программу под Proteus - это полнейший БРЕД.
Поэтому, остается только ждать, когда разработчики (ТЕНЬ ауу!!!) обратят на эту (и с передачей команд) ошибку внимание и исправят ее. И если ошибку с передачей команд можно обойти старт-стопами, что, в общем то, нормально, то эта ошибка - чистый ляп разработчиков.
Короче - забейте, и отлаживайтесь в железе.
Миниатюры:
Нажмите на изображение для увеличения
Название: Pic1.jpg
Просмотров: 0
Размер:	50.2 Кб
ID:	133610  
ProtAS-13 вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание DLL-моделей в Proteus. Описание VSM API. ProtAS-13 Proteus 36 07.08.2025 21:19
Nokia 6610 модель Proteus с VC + + joern Proteus 6 08.05.2014 12:02
у кого есть модель AtxMega128 для proteus mery79 Микроконтроллеры, АЦП, память и т.д 0 07.05.2009 17:42
Proteus, может кто видел модель LCD nokia 3310? IlRek Proteus 1 16.04.2007 23:36


Часовой пояс GMT +4, время: 10:11.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.