23.03.2014, 14:06 | #1 | ||
Старший Пользователь
Регистрация: 09.04.2008
Возраст: 44
Город: Одесса
Регион: Украина
Машина: Chevrolet Aveo-II LS 2008
Сообщений: 896
|
Программатор контроллеров RTD2660 на базе FT2232H
Предыстория:
Как-то приобрел я себе IPS монитор китайский на базе контроллера RTD2660. Всем хорош, но оказалось, что на нем невозможно отключить синий экран при отсутствии сигнала. Оказалось, что убрать его можно только путем смены прошивки в нем. В контроллере используется микросхема Flash памяти 25X40. Можно ее выпаивать (или просто к ней подпаяться), и программировать отдельно. А можно программировать через один из трех каналов DDC, которые есть на каждом входе VGA, DVI, HDMI. Т.к. сразу стало ясно, что одной прошивкой дело не обойдется, то было решено, что выпаивать микросхему - не наш метод. Начал искать программатор для программирования через VGA разъем. Таких оказалось три варианта: 1. Детище человека с ником Postal2, которое имеет созвучное название: Postal2. Работает через LPT порт, и только под 32бит системой. Поэтому на новых компьютерах, увы не работает. А прога очень хорошая и мощная. 2. Китайский LPT программатор. Стоит около 35$, но опять же - только LPT, и только 32бит. 3. Китайский USB программатор. Стоит уже около 80$ (при стоимости контроллера около 40$), поэтому тоже отпал. Так и не найдя готового решения - возникла мысль - а не сделать ли такое устройство самому на базе чего-то относительно стандартного? Ведь документация на чип есть, и относительно понятно что делать. К сожалению, разобраться в документации без опыта работы с такими девайсами, оказалось весьма непросто. К счастью, уважаемый Postal2 любезно поделился своими исходниками для работы с RTD2660, и процесс пошел. Представляю Вашему вниманию первый результат данной работы. Программа умеет: 1. Считывать прошивку из флеша. Результат контролируется по контрольной сумме, расчитанной самим чипом. 2. Записывать прошивку в флеш. Результат контролируется так же. 3. Сравнивать контрольную сумму данных в флеше с контрольной суммой данных в файле. 4. Читать данные EDID из контроллера для входа, к которому мы подключены. 5. Посылать в контроллер тестовые команды (только для тех, кто знает что делает). Все это происходит через разъем VGA контроллера монитора без выпаивания микросхемы памяти. Программа может использовать любой преобразователь от фирмы FTDI, которые поддерживает режим MPSSE (Multi-Protocol Synchronous Serial Engine). Например, FT232H, FT2232H, FT4232H. Схема подключения к преобразователю на примере FT2232H: Вложение 49261 Я для своих целей использую такую платку. В ней подключение происходит к разъему SPI1. Назначение ног на этом разъеме такое: 1 DI (ADBUS1) 2 Vcc (connected to on board 3.3V) 3 SCK (ADBUS0) 4 DO (ADBUS2) 5 CS (ADBUS3) 6 GND Линии данных на этом разъеме буферированы, и резисторы подтяжки уже присутствуют. Поэтому паять резисторы не нужно. Достаточно только одного диода шоттки и пары разъемов для подключения к плате и к контроллеру монитора. Вид окна программатора: Назначение кнопок: Open - открыть порт FT2232H Close - закрыть порт FT2232H EnterISP - перевести чип RTD2660 в режим внутрисхемного программирования. Reset - Выйти из режима внутрисхемного программирования. При этом произойдет сброс контроллера RTD2660. Find Devices - поиск устройств на шине. Программа сканирует шину и выводит список ID устройств, которые отозвались. Варианты ID: 37 (6E) - устройство DDC-CI для управления монитором 4A (94) - устройство для внутрисхемного программирования RTD2660 50 (A0) - устройство, предоставляющее EDID информацию в компьютер Chip size - размер Flash памяти чипа 2660 в байтах. Read chip - Прочитать содержимое Flash памяти RTD2660. При нажатии на кнопку надо указать куда сохранить результат. По окончании чтения программатор сравнит CRC данных в файле с CRC данных в Flash-памяти RTD2660. Write chip - записать прошивку в Flash память контроллера. По окончании записи программатор сравнит CRC данных в файле с CRC данных в Flash-памяти RTD2660. Verify chip - Проверить CRC данных в указанном файле с CRC данных в Flash-памяти RTD2660. ReadEE - Прочитать данные EDID для текущего входа из RTD2660. Данные читаются точно так же, как и из обычной микросхемы 24C16. Поэтому программа пытается вычитать все 8 секций этой микросхемы. Как правило - для мониторов удается вычитать только одну - две. ReadProt, WriteProt - соответственно чтение и запись команды DDC-CI по адресу 0x37. В окошке справа вводится код команды в виде: "51 84 03 12 00 4B E1" (установить контрастность 75%). Команды можно посмотреть, скажем, в программе SoftMCCS. Для записи последний байт - CRC. Не рекомендую нажимать на эти кнопки просто так, можно чего-то испортить )). Read94,Write94 - соответственно чтение и запись команды ISP контроллера RTD2660. Команды так же вводятся в окошко справа в виде шестнадцатиричных последовательностей. Слева есть окошко с количеством байт для чтения и чекбокс Step. Галочка в этом чекбоксе говорит, что контроллер будет автоинкрементировать адрес при чтении. Все команды описаны в документации к RTD2660. Не рекомендую нажимать на эти кнопки просто так.. Можно чего-то испортить )). В большом текстовом поле выводится детальный лог происходящих операций. Для работы с контроллером необходимо: 1. Выбрать нужное устройство FT2232H в выпадающем списке. У меня оно зовется "Dual RS232-HS A". 2. Нажать кнопку "Open" чтобы открыть порт. 3. Нажать на кнопку "Enter ISP" чтобы войти в режим программирования. 4. Далее можно в произвольном порядке читать, писать и проверять содержимое Flash памяти контроллера. Сама программа - в аттаче. Для запуска и работы необходимы фреймворк .Net 4.0 и установленные драйверы чипа и D2XX (можно скачать на сайте FTDI). Update 2017-09-12: Так же с данной микросхемой успешно работает программа Rova Tools: Цитата:
Цитата:
__________________
Мой журнал: http://www.pccar.ru/showthread.php?p=79335 Последний раз редактировалось basurman; 06.03.2018 в 13:28. |
||
23.03.2014, 15:23 | #2 |
Гуру
Регистрация: 01.06.2013
Возраст: 58
Регион: Украина
Машина: Toyota Fortuner 4.0 / Chevrolet Bolt EV
Сообщений: 2,006
|
Вот спасибо!
Имею программатор AVREAL и давно приобретенную платку LCD контроллера. Теперь будет чем заняться.... |
23.03.2014, 15:30 | #3 |
Старший Пользователь
Регистрация: 09.04.2008
Возраст: 44
Город: Одесса
Регион: Украина
Машина: Chevrolet Aveo-II LS 2008
Сообщений: 896
|
Ну вот, я неделю без компутера в машине сидел, пока отлаживал, а оказывается, совсем рядом все это время лежала совершенно свободная плата )))
А что за программатор AVREAL? Программу для AVR знаю, сам пользуюсь. А программатор? Имеется в виду что-то типа того, что я по ссылке дал?
__________________
Мой журнал: http://www.pccar.ru/showthread.php?p=79335 |
23.03.2014, 15:37 | #4 | |
Гуру
Регистрация: 01.06.2013
Возраст: 58
Регион: Украина
Машина: Toyota Fortuner 4.0 / Chevrolet Bolt EV
Сообщений: 2,006
|
Цитата:
Я имею в виду схему на FT2232 для программирования AVR-ок через программу AVREAL собранную мною давным давно. USBOPTOPROG_V2.pdf |
|
24.03.2014, 00:49 | #5 |
Старший Пользователь
Регистрация: 09.04.2008
Возраст: 44
Город: Одесса
Регион: Украина
Машина: Chevrolet Aveo-II LS 2008
Сообщений: 896
|
Обновил версию проги в шапке.
Изменения: + Теперь не надо нажимать кнопки "Open" и "EnterISP" перед операциями записи/чтения чипа. Прога сама откроет порт, если он не открыт, и войдет в ISP, если еще не вошла. + Добавлен автоматический сброс контроллера после успешной заливки или считывания прошивки. - Верификация вызывается только в случае успешного чтения или записи прошивки.
__________________
Мой журнал: http://www.pccar.ru/showthread.php?p=79335 |
26.03.2014, 13:12 | #7 |
Старший Пользователь
Регистрация: 09.04.2008
Возраст: 44
Город: Одесса
Регион: Украина
Машина: Chevrolet Aveo-II LS 2008
Сообщений: 896
|
Можно, но гораздо выгоднее доплатить еще 6$, и за 33$ взять ту платку, что я привел в первом посту.
Там уже есть и буфер, который может уберечь ее от внешних факторов, и распаянные RS232/TTL последовательные порты, и отдельные разъемы для SPI/i2c, и отдельный разъем JTAG... Я ей и меги прошиваю, и сюда приспособил... Очень получилась универсальная плата.
__________________
Мой журнал: http://www.pccar.ru/showthread.php?p=79335 |
26.03.2014, 13:26 | #8 |
Старший Пользователь
Регистрация: 29.01.2010
Возраст: 55
Город: Самара
Регион: 63, 163
Машина: ВАЗ2111, ВАЗ11113
Сообщений: 101
|
Наверное Вы правы.
Даже, можно сказать, убедили . Спасибо. А нет ли, случаем, документации на нее? |
26.03.2014, 13:42 | #9 |
Старший Пользователь
Регистрация: 20.03.2012
Возраст: 34
Город: Москва
Регион: 77, 97, 99, 177
Машина: Ford Focus 2, Audi Q7
Сообщений: 163
|
а ftdi 232 на Arduino nano не прокатит?
Для чего нужна MPSSE ? |
26.03.2014, 13:57 | #10 |
Старший Пользователь
Регистрация: 09.04.2008
Возраст: 44
Город: Одесса
Регион: Украина
Машина: Chevrolet Aveo-II LS 2008
Сообщений: 896
|
Доки есть тут.
Девайс зовется "TIAO USB Multi Protocol Adapter"
__________________
Мой журнал: http://www.pccar.ru/showthread.php?p=79335 |
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2) | |
|
|