В общем, решил еще раз помучить T112 – в итоге появилась изображение, но с искажениями т.к. не могу настроить разрешение. Библиотека инициализации заняло более 700 строк кода! Написать самому с нуля да еще без соответствующей документации – наверное, не реально… В вашем случае лучше подправить исходники (которые я скинул) под атмегу и дисплей. Или отправить снятый вами лог в виде массива – проще всего.
Чип ATMEGA16, но это не принципиально т.к. встроенная периферия не используется. Компилятор winavr. В “main.c” выбрать тип матрицы (разрешение) и вход (CVBS, S-VIDEO), скомпилировать. SDA_PIN - PORTB 1 SCL_PIN - PORTB 0
Частота указанна в “makifile” – 16.9344MHz, тоже не принципиально – можно и 8MHz. Питание 5V, но у меня плата видеоконтроллера изначально рассчитана на 5V! Как у вас реализовано не знаю, думаю лучше питать от 3.3V – так безопаснее. Кнопка – это ресет.
Подправил код: теперь изображение отображается нормально + перенес код инициализации во flash. Теоретически если слегка подправить код, то должно работать с котроллерами: T100, T101, T102, T116 T118.
Нет, конечно Контроллеру нужно указать тип дисплея и его режимы работы + команды настройки: конвертеров, декодеров цветности и т.д. всего более 200 команд… Все эти функции выполняет atmega16.
В маем случае в.контроллер тоже не отвечал на команды пока я не взял программный i2c из китайских исходников, в чем там разниться с обычным i2c я не разбирался. Кстати в t112 три slave адреса: 0x50 – adc, 0x52 – tcon, 0x54 – декодер.
Некоторые двд тошиба собраны на UPD5500, UPD5600. В какомто сервис мануале указано, что UPD5600=T101. Экран который я ковыряю от DVD ShincoSDP-1735, маркировка на микросхеме D5510. Когда искал даташит(не нашел), наткнулся на Т112. Прозвонил практически все ноги - совпадение 100% с T112. Вот и подумал, что аналог. Кстати, UPD5500 тоже совпадает с каким то теравинсом, не помню...
Я первым делом прошил мегу скомпилировав ваш исходник под свой экран. Кварц 8МГц - частота шины около 55кГц. Логер показал на все команды NASK. Затем в вашем исходнике в качестве инициализации вписал цикл 00-FF. В цикле чтение регистра 00 по адресу из цикла. В результате в логе ACK на адресах F0 - FF. К чему бы это? С кварцем как у вас, и питанием 3,3 мега тоже запустилась, но частота шины 65кГц, а не 110, не понятно почему, может из-за не регламентированного питания и частоты?
Напряжения все присутствуют? Их там три! Частота i2c должна быть от 50KHz. Ниже в архиве код для перебора адресов – попробуйте. Мой контроллер отозвался на адреса: 0x50..0x55, 0x57..0x5A и т.д.
taran_ob писал(а):
С кварцем как у вас, и питанием 3,3 мега тоже запустилась, но частота шины 65кГц, а не 110, не понятно почему, может из-за не регламентированного питания и частоты?
1 напряжения - все 5 3.3 1.8 2 читал в даташите, повторюсь, логер фиксирует порядка 55кГц 3 частоту кварца в исходнике правил под 8Мгц
Все же хочу повторить ваши условия питания и частоты. При 16,..МГц частота шины у вас 100кГц? Если да, то для гарантии мегу нужно питать 5В. Как у вас реализована развязка шины 3,3В-5В?
пс щас попробую код из архива...
С вашим кодом та же история - ACK от F0-.., и какая то каша... К уарту правда не подключал. С частотой шины вроде разобрался - менял i2c_delay от 3 до 50, результат один и тот же. Думаю продолжать опыты не стоит, закажу ка я Т112...
Спойлер
Код:
START 0xF0 Control Byte: Slave Address 78 Write ACK STOP START 0xF1 Control Byte: Slave Address 78 Read ACK 0x 0 ACK 0x 4 NACK STOP START 0xF4 Control Byte: Slave Address 7A Write ACK STOP START 0xF5 Control Byte: Slave Address 7A Read ACK 0x 9 ACK STOP START 0xF7 Control Byte: Slave Address 7B Read ACK 0x 0 ACK 0x 0 ACK 0x 0 ACK 0x 0 NACK STOP START 0xFC Control Byte: Slave Address 7E Write ACK STOP START 0xFD Control Byte: Slave Address 7E Read ACK 0x 0 ACK //это последняя строчка
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 42
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения