Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Скалер TW8806 I2C interface
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
klialex
Достался задаром полуразобраный, полусломаный аппарат Hundai H-CMMD4046, вернее дисплей от оного. Схема: Нажмите для просмотра прикрепленного файла
Задался целью подключить сей девайс в качестве домофонного дисплея в связке с камерой (композитный видеосигнал). Подключил все питания, на сам дисп + подсветка. Осталась настройка самого скалера. Происходит по i2c. Подключил анализатор saleae logic (кЕтай) на шину. Дамп: Нажмите для просмотра прикрепленного файла
Согласно даташита:Нажмите для просмотра прикрепленного файла на TW8806 нашел в дампе обращения к основным регистрам. На ардуинке (ничего под рукой больше нет) побыстренькому набросал сначала сканер квадратной шины, подключил к соответствующим пинам дисплея, шина ответила наличием на ней устройства 0x45, что соответствует наблюдениям в логическом анализаторе.(7бит адрес) Затем все найденные пары основные регистры+значения залил в eeprom arduino:Нажмите для просмотра прикрепленного файла и скетчем
Код
#include <Wire.h>
#include <EEPROM.h>

void setup() {
  Wire.begin(); // join i2c bus (address optional for master)
}

void loop() {
  delay(1000);

  for (int i=0; i<=265; i=i+2){ //266 bytes in eeprom
  Wire.beginTransmission(69); // transmit to device #69 (0x45)
  // device address is specified in datasheet
  Wire.write(EEPROM[i]);            // sends adress (нечетная ячейка памяти)
  Wire.write(EEPROM[i+1]);             // sends  value byte (четная ячейка памяти)
  Wire.endTransmission();     // stop transmitting
  }

while(1);
}
выстрелил в шину. Вроде бы что-то дисплей ответил, картинка поменялась, начала мерцать и все, я в ступоре. Кто работал с таким скалером, что и куда минимально запихать в его регистры, чтобы осуществить мою мечту? Правильно ли отрабатывает ардуинка по сигналам с таким скетчем? Не понравились мне ACK и NACK на шине. Вроде на анализаторе с родной головой - кругом одни nack, но все работает; у меня все ack в конце переданного байта, но херня какаято...
k155la3
Цитата(klialex @ Nov 28 2016, 00:26) *
. . . .
Не понравились мне ACK и NACK на шине. Вроде на анализаторе с родной головой - кругом одни nack, но все работает; у меня все ack в конце переданного байта, но херня какаято...

1. Проверяйте режимы обращения мастер-слейв, а именно бит R/W.
2. Бит ACK/NACK, в зависимости от R/W, выставляет или мастер или слейв.
Взглядом "со стороны" Вы не определите, кто его выставил.
Кроме того может быть мультимастерный режим (что там еще на шине навешано).
Почитайте спецификацию протокола I2C Philips.
3. В зависимости от того, что представляет из себя слейв, ОНО может предоставлять не просто запись
в регистры, а работать с последовательностью-пакетом команд вполне определенного
для данного девайса формата.




Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.