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

Скалер TW8806 I2C interface

Достался задаром полуразобраный, полусломаный аппарат Hundai H-CMMD4046, вернее дисплей от оного. Схема: selection.pdf

Задался целью подключить сей девайс в качестве домофонного дисплея в связке с камерой (композитный видеосигнал). Подключил все питания, на сам дисп + подсветка. Осталась настройка самого скалера. Происходит по i2c. Подключил анализатор saleae logic (кЕтай) на шину. Дамп: 2_MHz__60_M_Samples.7z

Согласно даташита:DSA00103441.pdf на TW8806 нашел в дампе обращения к основным регистрам. На ардуинке (ничего под рукой больше нет) побыстренькому набросал сначала сканер квадратной шины, подключил к соответствующим пинам дисплея, шина ответила наличием на ней устройства 0x45, что соответствует наблюдениям в логическом анализаторе.(7бит адрес) Затем все найденные пары основные регистры+значения залил в eeprom arduino:eeprom.7z и скетчем

#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 в конце переданного байта, но херня какаято...

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

Поделиться сообщением


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

. . . .

Не понравились мне ACK и NACK на шине. Вроде на анализаторе с родной головой - кругом одни nack, но все работает; у меня все ack в конце переданного байта, но херня какаято...

1. Проверяйте режимы обращения мастер-слейв, а именно бит R/W.

2. Бит ACK/NACK, в зависимости от R/W, выставляет или мастер или слейв.

Взглядом "со стороны" Вы не определите, кто его выставил.

Кроме того может быть мультимастерный режим (что там еще на шине навешано).

Почитайте спецификацию протокола I2C Philips.

3. В зависимости от того, что представляет из себя слейв, ОНО может предоставлять не просто запись

в регистры, а работать с последовательностью-пакетом команд вполне определенного

для данного девайса формата.

 

 

 

 

 

Поделиться сообщением


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

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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