PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Программаторы (http://pccar.ru/forumdisplay.php?f=151)
-   -   Программатор контроллеров RTD2660 на базе FT2232H (http://pccar.ru/showthread.php?t=20565)

Hammer 18.04.2014 13:16

А можно как-нибудь используя i2c в HDMI и i2c-tools в Linux выковырять эту прошивку? Едиды прочитать у меня получилось таким образом... Просто не знаю протокол обмена. Тот кусок кода от Postal2 немного непонятен, например в части
Код:

    //send 94-60-46
    BYTE CmdInit_1[2] = {(BYTE)0x60, (BYTE)0x46};
    LL_LptI2cWrite((UINT)RTDbusSTD, 0, 0, (UINT)CmdInit_1, 2 );

Что означают эти 3 байта? И почему 3, когда в LL_LL_LptI2cWrite(); передается только 2 и, как я понял, задержка?
Извините, если не по адресу вопрос.

Поглядел даташит - вообще такого не нашел. Потыкал еще из линукса этот чип - отвечает несколько адресов:
Код:

      0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- 37 -- -- 3a -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- 4a 4b -- -- -- --
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Я так понял, нужный мне адрес 0x4A? В даташите на RTD2662 ваще ничего похожего не нашел...

Alex_St 18.04.2014 15:42

0x94 - это адрес чипа. Т.к. младший бит адреса - это флаг W/R, то 0x4A сдвигаем влево и получаем 0x94. Но в RTD2660 есть еще один финт. Младший бит из этих 0x4A - это флаг автоинремента. Соответственно, получаем 4 нужных адреса:
0x94 - чтение без автоинкремента.
0x95 - запись без автоинкремента.
0x96 - чтение с автоинкрементом.
0x97 - запись с автоинкрементом.

соответственно, запись вида 94-60-46 означает передать в устройство:
старт, потом 94, потом 60, потом 46, потом стоп. Учитывая, что функция LL_LptI2cWrite сама добавляет адрес - то в нее передаем только два оставшихся байта. Тут 0x60 - это команда записи Common Instruction Register (стр311 даташита), 46 - это Read c rd_num=3.

han2001 27.04.2014 17:41

Заметил одну фигню. Не понял правда кто виноват. Если прошить родной китайской прошивкой, то к RTD2660нет больше доступа, а если прошить хоть раз прошивкой ancc через внешний программатор, демонтировав флешку с платы, то потом шейся через FT2232 сколько твоей душе угодно. В чем причина такой пакости?
Китайская прошивка тут.

Alex_St 27.04.2014 18:51

Если в прошивке запрещено использование шины DDC, то вполне такое может быть. Правда, мало верится, что они запретили использование всех трех каналов DDC. Вполне может быть, что через другой порт прошьется и с их прошивкой.
Так же можно попробовать войти в режим ISP при запуске монитора, когда прошивка еще не успела запретить доступ к шинам.

han2001 27.04.2014 23:34

Фокус не удался факир был пьян, не получается и зачем я залил этого китайца, придется сдувать микросхему и прошивать прошивку ancc на программаторе, ну а далее будем шить уже через FT2232 и больше заливать китайся не будем.

Alex_St 17.05.2014 02:14

han2001, у тебя с китайской прошивкой на какие адреса отзывался контроллер если сделать FindDevices?

Alex_St 18.05.2014 11:48

Есть проблема. После зашивки родной китайской прошивки контроллер перестал отвечать на все адреса кроме 0x3A (0x74). На остальные - тупо молчит. Учитывая, что для программирования там выделен адрес 0x4A (0x94) - зашить чип я не могу.
Выпаял микросхему памяти, зашил вторую китайскую прошивку, с которой я уже отлаживал программатор, моник умер вообще.
Попытка зашить в микруху еще чего-то показала, что микруха убита. Похоже, повредил при выпаивании. Купил новую, зашил прошивку еще раз, и... результат тот же. Моник отзывается только на адрес 0x3A. При этом при подключении к компу - обмен с компом идет нормальный...
Кто-нить сталкивался с такой хренью? Как можно заставить чип RTD2660 опять открыть возможность программирования через VGA и HDMI?
Пробовал вместо 0x4A слать команды на 0x3A. Увы, не работает тоже...

Alex_St 18.05.2014 14:23

Проблема решена.
Причина оказалась простой. Перепрошивка через HDMI была запрещена китайской прошивкой. А через VGA не шилось по аппаратной проблеме. Я так и не понял почему, но кондера 100пФ на шине SDA оказалось недостаточно, и все замечательно прошло после замены его на 1000пФ.
После этого удалось залить прошивку от Ancc через VGA, и дальше уже можно шить и через VGA и через HDMI.
Ура!

fmark 22.05.2014 05:49

Проблема с подключением
 
Вложений: 1
Привет! Нужна помощь.

Начну с того, что, к сожалению, не очень рублю в электронике, но очень это дело люблю :)

Получил свой программатор (http://www.diygadget.com/tiao-usb-mu...2c-serial.html)

Вот его мануал: http://www.tiaowiki.com/w/TIAO_USB_M...ser%27s_Manual


Установил драйверы и сгрузил программму-программатор из первого поста. Порт открывается, но дольше засада.

Подключил VS-TY2662-V1 контроллер 3-мя проводами :

USB programmer SPI port ------------ LCD controller VGA port

3 (SCK) - 15 pin VGA
4 (MOSI) - 12 pin VGA
6 (GND) - VGA GND

Вопросы :

1. Правильно ли я подключил девайсы ? Если нет, то как нужно ?
2. Нужно ли подключать питание к LCD контроллеру для чтения/записи прошивки ?

Я присоединяю фотографию того, как я подключил.

Заранее спасибо!

Alex_St 22.05.2014 11:45

Неправильно. Я в первом посте дал картинку как подключать. Нужен диод шоттки. MOSI подключаешь к SDA через диод, а MISO - напрямую к той же ноге. Диод направлен от SDA к MOSI.


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

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot