• Добро пожаловать на Технический форум: Ремонт промышленной электроники и спецтехники.

самодельный Curtis 1309

Автор ISV, 24 сентября 2024, 15:33:55

Блок с содержанием первого сообщения
У кого есть нормальный 1309? Если не сложно, считайте данные с FT232? прогой MProg 3.5 или более новой FT_PROG с сайта ftdi (как вариант, у меня MProg взята из комплекта восстановления китайского OP-COM). В MProg желательно в режиме Read скопировать дамп из окна, а потом из режима "Read and parse" сохранить конфиг в файл.  В FT_Prog это всё в одном окне и делается сразу одним чтением.

Версии 4.xx PC Station обычный адаптер не видят вообще, хотя дрова в комплекте стандартные от FTDI, только подписанные Curtis Instr. Я взял оттуда из .inf файла VID&PID, прописал в FT232. Теперь всё видится и даже работает, но только в USER Mode. А хотелось бы полный функционал.

Адаптер я собрал простейший, на базе готовой платки FT232RL и развязка на 74НС14. Molex от обычного АТХ питальника, идеально подходит :)

PS: файлики можно сюда или на почту isvlabs (.) mail.ru

 Тема популярна   Ссылка

Radiohobbi

У меня вот такое уживается)) на домашнем ноуте win10)) подгрузились драйверы от FTDI от 21 года VID PID от FTDI, в прошивке все как у вас)) чертовщина какая то

Radiohobbi

Цитата: Postal2 от 21 марта 2025, 23:55:14Так я выкладывал скриншот как прошивать.
Я видел да. Но с внешней памятью казалось проще (в моем случае) выпаять и прошить))

Postal2

#92
Надо было мне 2 штуки этих BL купить. Возможно, к расчёту контрольной суммы (последние 2 байта) подключается ещё что-то. Тогда возьмите программу в архиве, сначала запишите дамп для BL, потом поставьте галку "User only" и сделайте запись файлом для RL.

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

Radiohobbi

Цитата: Postal2 от 22 марта 2025, 00:34:46Тогда возьмите программу в архиве, сначала запишите дамп для BL
Фантастика! Ваша программа творит чудеса)) огромная благодарность! Связь пока не проверил, но изменилось все даже внешне кардинально. FT232RL определился как положено системой, плюс в программе впервые вижу в свойствах соединения адаптер 1309 который подключен в нужный порт, думаю что и связь установится. То есть из всех последних опытов можно зафиксировать, что просто перепрошивка отдельно памяти не дает нужного эффекта. Потому что перед записью я предварительно прочитал содержимое и отобразилось ровно то же самое, что я в последствии и записал. Но эффект после записи через USB программой оказался совсем другой!

Postal2

Цитата: Radiohobbi от 22 марта 2025, 20:16:05Но эффект после записи через USB программой оказался совсем другой!
Я плохо могу это представить, наверно 93C46 некачественная.

Этой версией можно записать оригинальную FT232RL, так что если случайно стёрли оригинальный 1309, не придётся покупать поддельную "по цене коня" чтобы записать. Для записи оригинальной FT232RL один и тот же дамп надо записать дважды.
Также вы можете настроить всё нужное в программе FT_Prog и потом записать с дампа только user-секцию.

Radiohobbi

Цитата: Postal2 от 22 марта 2025, 20:54:41Я плохо могу это представить, наверно 93C46 некачественная.
Я могу предположить, что после записи EEPROM в нормальном режиме чип FT232BL может хранить внутри себя в собственной flash памяти контрольную сумму и настройки по умолчанию, и в случае внешней записи в EEPROM когда контрольная сумма не совпадет при загрузке, он может посчитать, что память не в порядке и работать с параметрами по умолчанию. В пользу этой версии у меня такой довод - когда я записал "недоделанный" дамп через FT Prog изменились VID PID как у curtis при определении системой, но FT Prog перестал видеть такое устройство. Однако после перезаписи EEPROM все восстановилось на заводские VID PID, но не те, которые были в EEPROM. Снова стал видеть устройство FT Prog. Вам еще раз спасибо за помощь!

Postal2

Ну получилось - и хорошо, что я могу ещё сказать.

Postal2

Скорее всего FT232BL заработает сразу, но я обнаружил, что параметры по умолчанию отличаются на 1 бит при записи из FT_Prog. Поэтому для подстраховки два дополнительных дампика в архиве (для FT232BL).

Radiohobbi

Ну там в первой строке прописано у вас в самом первом варианте выбор USB 1.1, а во втором и третьем USB 2.0 (7-е слово). А в пользовательской строке сдвиг на одно слово в последнем варианте. Завтра попробую на работе.

Postal2

Цитата: Radiohobbi от 23 марта 2025, 20:11:44Ну там в первой строке прописано
Там 0x08->0x18, если бит установлен, то версия usb используется (ftd2xx.h). Сдвиг потому, что ManufacturerId в одном случае пустая строка, во втором нет строки (так пишет FT_Prog).

Radiohobbi

А как контрольная сумма считается? Я попробовал несколько стандартных вариантов которые hex редактор предлагает, ничего не совпало. И был там еще пользовательский вариант, типа создай свой вариант сам))

Postal2

Цитата: Radiohobbi от 23 марта 2025, 21:40:35А как контрольная сумма считается?
Понятия не имею, она автоматически установится, если в дамп записать user-секцию.

Radiohobbi

То есть вы записывали не прописывая контрольную сумму и потом считывали через FT Prog чтобы проверить контрольную сумму? Ну или программой с большими возможностями что сути не меняет))

Postal2

Цитата: Radiohobbi от 23 марта 2025, 21:48:28и потом считывали через FT Prog
В программе есть сохранение дампа (read), которое работает всегда. Секция user извлекается только из дампа для FT232RL, галка "User only" работает только для дампов FT232RL в качестве файла-источника, но писать можно в любую микросхему. Контрольную сумму считает сам драйвер FTDI, нет смысла разбираться, как он это делает. Драйвер пересчитает контрольную сумму для любой записи, кроме прямой записи дампа.

Radiohobbi

Вот что нашел в даташите на BL - текст оригинал и перевод. Примерно то что и предполагалось. Где то он хранит у себя контрольную сумму после записи EEPROM и также заводские настройки на случай повреждения данных или отсутствия самой памяти.
..........
Following a power-on reset or a USB reset, the FT232B will scan the EEPROM to find out (a) if an EEPROM
is attached to the Device and (b) if the data in the device is valid. If both conditions are true, then the
FT232B will use the data in the EEPROM, otherwise it will use its built-in default values. When a valid
command is issued to the EEPROM from the FT232B, the EEPROM will acknowledge the command by
pulling its Dout pin low. In order to check for this condition, it is necessary to pull Dout high using a 10K
resistor. If the command acknowledge doesn't happen then EEDATA will be pulled high by the 10K resistor
during this part of the cycle and the device will detect an invalid command or no EEPROM present.
.............
После сброса настроек при включении питания или через USB FT232B выполнит сканирование EEPROM, чтобы определить (а) подключен ли EEPROM к устройству и (б) верны ли данные в устройстве. Если оба условия выполнены, то
FT232B будет использовать данные из EEPROM, в противном случае будут использоваться встроенные значения по умолчанию. Когда в EEPROM от FT232B будет отправлена действительная команда, EEPROM подтвердит
ее, потянув свой вывод Dout вниз. Чтобы проверить это условие, необходимо увеличить напряжение до максимума с помощью резистора 10 Ком. Если подтверждения команды не произойдет, то в
течение этой части цикла резистор 10 КОМ будет передавать данные на высокий уровень, и устройство обнаружит неверную команду или отсутствие EEPROM.