Важно! Postal 2/3. Делаем свой софт для работы.Поддержка и сбор инфы

P

Postal2

  • 7 Авг 2020
==== Описание протокола FX2LP ====
Многие хотели бы использовать высокоскоростной обмен данными через USB в своих разработках, однако необходимость разработки прошивки для FX2LP останавливает эти начинания.
Вы можете использовать прошивку FX2LP-Девайса для своих целей очень простым способом.
В передаче данных самый первый байт - это число последующих байтов на приём, равное байт умножить на 8. Первый байт из передачи изымается. Когда очередь передачи заканчивается, происходит приём заданного количества, при этом если первый байт ноль - запрос на приём даст успех с нулевыми данными, таким образом происходит синхронизация, то есть, делаем передачу, потом запрос на приём - и он состоится когда данные физически переданы. Все байты используют port B синхронно с ctl0 и ctl1. Также имеются сигналы, эмулирующие CS для spi, при этом PD4 остаётся в нулевом состоянии после отработки пакета, если число первого байта =255. Управление скоростью через команду вендора 0xB2, младший байт Value, по умолчанию тактирование 24MHz.
В прошивке FX2LP-Девайса имеются все функции классического Девайса, однако протоколы низкоскоростные и выглядят сложнее. Описанный протокол прост и удобен. Например, можно сразу управлять параллельным ЖКИ, или сделать какой-то особенный программатор, при этом достаточно разработки только со стороны Windows.
 
  • Like
Реакции: lapot2, merkul и elswah79
E

elswah79

  • 8 Авг 2020
Jovani сказал(а):
programmer

Postal2 сказал(а):
==== Описание протокола FX2LP ====
Многие хотели бы использовать высокоскоростной обмен данными через USB в своих разработках, однако необходимость разработки прошивки для FX2LP останавливает эти начинания.
Вы можете использовать прошивку FX2LP-Девайса для своих целей очень простым способом.
В передаче данных самый первый байт - это число последующих байтов на приём, равное байт умножить на 8. Первый байт из передачи изымается. Когда очередь передачи заканчивается, происходит приём заданного количества, при этом если первый байт ноль - запрос на приём даст успех с нулевыми данными, таким образом происходит синхронизация, то есть, делаем передачу, потом запрос на приём - и он состоится когда данные физически переданы. Все байты используют port B синхронно с ctl0 и ctl1. Также имеются сигналы, эмулирующие CS для spi, при этом PD4 остаётся в нулевом состоянии после отработки пакета, если число первого байта =255. Управление скоростью через команду вендора 0xB2, младший байт Value, по умолчанию тактирование 24MHz.
В прошивке FX2LP-Девайса имеются все функции классического Девайса, однако протоколы низкоскоростные и выглядят сложнее. Описанный протокол прост и удобен. Например, можно сразу управлять параллельным ЖКИ, или сделать какой-то особенный программатор, при этом достаточно разработки только со стороны Windows.
Извините, мой родной язык - английский, и я плохо говорю по-русски
Возникает несколько вопросов: сможет ли FX2LP поддерживать EPROM SPI FLASH и MST CPU так же, как только Postal3 или EMMC.
 

Что это ? Неисправности Прошивки Схемы Справочники Маркировка Корпуса Программаторы Аббревиатуры Частые вопросы Ссылки дня

  • Это информационный блок по ремонту телевизоров

    Содержит основные технические рекомендации и советы по ремонту и поиску в разделах сайта. Ссылки необходимые для ремонта ТВ - принципиальные схемы, файлы прошивок, программ, маркировку компонентов, базы данных ТВ, подобные - База данных ТВ с фото шасси.
    Обратите внимание и на другие темы по ремонту где расположены советы и секреты мастеров, измерения, принцип работы и методы диагностики и устранение неисправности. Так-же размещены способы входа в сервисный режим (сервисное меню).
    Блок предназначен для тех, кто случайно попал на эту страницу, он периодически обновляется и отображается только гостям.
  • Неисправности ТВ

    Вопросы по Postal 2/3. Делаем свой софт для работы.Поддержка и сбор инфы Если у вас есть вопрос по неисправности телевизора и определении дефекта, Вы должны создать свою, новую тему в форуме. По этой теме в форуме уже рассмотрены следующее:

    • не включается
    • прошивка
    • не ловит каналы
    • перезагружается
    • лампы
    • нет подсветки
    • отключить защиту
  • Где скачать прошивку телевизора ?

    Телевизионная аппаратура:
    Раздел обменника здесь - Прошивки телевизоров, ниже примеры:
    Телевизоры HYUNDAI
  • Package (корпус) - вид корпуса электронного компонента

    SOT-89 - пластковый корпус для поверхностного монтажа
    SOT-23 - миниатюрный пластиковый корпус для поверхностного монтажа
    TO-220 - вид корпусов для монтажа (пайки) в отверстия
    SOP (SOIC, SO, TSSOP) - миниатюрные корпуса для поверхностного монтажа
    DPAK (TO-252) - корпус для полупроводниковых устройств с поверхностным монтажом
  • Programmer (программатор) - устройство для записи (считывания) информации в память микросхем или другое устройство

    Ниже список популярных программаторов, которые выбирают телемастера:
    Postal-2,3 - универсальный программатор по протоколам I2C, SPI, MW, IСSP и UART. Подробно - Программатор Postal - сборка, настройка
    TL866 (TL866A, TL866CS) - универсальный программатор через USB интерфейс
    CH341A - самый дешевый (не дорогой) универсальный программатор через USB интерфейс для FLASH и EEPROM микросхем
    RT809H - универсальный программатор EMMC-Nand, FLASH, EEPROM памяти через интерфейсы ICSP, I2C, UART, JTAG
    JTAG адаптеры - используются для программирования и для отлаживания прошивок
  • Краткие сокращения

    LED (Light Emitting Diode) - Светодиод (Светоизлучающий диод)
    USB (Universal Serial Bus) - Универсальная последовательная шина
    EEPROM (Electrically Erasable Programmable Read-Only Memory) - Электрически стираемая память
    eMMC (embedded Multimedia Memory Card) - Встроенная мультимедийная карта памяти
    LCD (Liquid Crystal Display) - Жидкокристаллический дисплей (экран)
    NAND (NOT AND) - Тип флеш-памяти по принципу изменения информации в ячейках трёхмерного массива
  • Желающим подключиться к обсуждениям

    Как мне задать свой вопрос ?

    После регистрации аккаунта на сайте Вы сможете опубликовать свой вопрос или отвечать в существующих темах. Участие абсолютно бесплатное.

    Кто отвечает на вопросы ?

    Ответ в тему Postal 2/3. Делаем свой софт для работы.Поддержка и сбор инфы как и все другие советы публикуются всем сообществом. Большинство участников это профессиональные мастера по ремонту и специалисты в области электроники.

    Как найти нужную информацию ?

    Возможность поиска по всему сайту и файловому архиву появится после регистрации. В верхнем правом углу будет отображаться форма поиска по сайту.

    По каким маркам можно спросить ?

    По любым. Наиболее частые ответы по популярным брэндам - LG, Samsung, Philips, Toshiba, Sony, Panasonic, Xiaomi, Sharp, JVC, DEXP, TCL, Hisense, и многие другие в том числе китайские модели.

    Что еще я смогу здесь скачать ?

    При активном участии в форуме Вам будут доступны дополнительные файлы и разделы, которые не отображаются гостям - схемы, прошивки, справочники, методы и секреты ремонта, типовые неисправности, сервисная информация.

  • Замена светодиодов LED подсветки матриц телевизоров.
    Замена светодиодов в планках подсветки LED телевизоров
    Замена ламп подсветки на светодиоды. Фотоотчет.
    Разборка LCD матриц больших диагоналей 47 дюймов и более
    Автономный режим PDP и LCD панелей
    Классификация типичных неисправностей на изображении по фото
P

Postal2

  • 8 Авг 2020
elswah79, да, FX2LP-Девайс полностью поддерживает все функции (в окончательном варианте). Однако, для некоторых функций он предполагает буфер 512 байт, поэтому ограниченно совместим с USB1.0. Для нормальной работы fx2lp должен быть подключен как USB2.0 Hi Speed. В него просто не помещается прошивка с поддержкой low speed, где буфер 64 байта.
 
E

elswah79

  • 9 Авг 2020
Postal2 сказал(а):
elswah79 , yes, FX2LP-Device fully supports all functions (in the final version). However, for some functions it assumes a 512 byte buffer, therefore it is limitedly compatible with USB1.0. Fx2lp must be connected as USB2.0 Hi Speed for normal operation. It simply does not fit firmware with low speed support, where the buffer is 64 bytes.
Will support nand flash
 
D

DIMM_bl4

  • 9 Авг 2020
Всем здравствуйте.
Postal2 сказал(а):
Выкладываю раннюю версию. Режим fx2lp, работа с eMMC
Понимаю, что преальфа, но уж очень хотелось потестить SPI режим.
Подключал так:
CTL1 = CS;
CTL0 = CLK;
PB7 = MOSI;
PB6 = MISO.
В целом - работает. Скорость чтения в районе 800кБ/с, W25Q64 примерно 10 сек. читается. Чуть медленнее FT232H (5 сек. при 30МГц) , но терпимо )
Есть странная пауза между пакетами, в ней CS = low и четыре такта CLK.
Также есть проблема - теряется последний байт каждой страницы, вместо него в дампе случайно либо '00', либо 'FF'. Поэтому проверил только чтение.
Текст скрыт от гостей. Для просмотра войдите в свой аккаунт.
Текст скрыт от гостей. Для просмотра войдите в свой аккаунт.
Текст скрыт от гостей. Для просмотра войдите в свой аккаунт.
 
P

Postal2

  • 9 Авг 2020
DIMM_bl4 сказал(а):
теряется последний байт каждой страницы
DIMM_bl4,
Postal2 сказал(а):
сигналы, эмулирующие CS для spi, при этом PD4....
Написано выше - использовать PD4 для CS SPI.
вместо него в дампе случайно либо '00', либо 'FF'.
Подтяжки надо использовать.
DIMM_bl4 сказал(а):
Есть странная пауза между пакетами, в ней CS = low и четыре такта CLK.
Это как раз байт номер 256, 8 тактов там. Поскольку на приём (написано выше) задаётся максимум 255*8 байт.
___
Можно включить spi short step, будет приём меньшего количества байт.
___
Вообще паузы в передаче оттого, что 8051 мало того что медленный, так ему ещё и NOP между инструкциями надо вставлять. Пара команд - уже микросекунды. Но другим способом сделать универсальную эмуляцию нельзя. И быстрее, чем сделано - тоже нельзя, очень хорошо оптимизировано. Поэтому и предложен протокол, т.к. хорошо сделано.
___
Забыл, пропуск CS для 255 исправлялся позже (см. ниже по странице)
 
Последнее редактирование:
D

DIMM_bl4

  • 9 Авг 2020
Я искал CS логическим анализатором, тогда еще не было информации про PD4. Что-то похожее на "CS" нашлось на CTL1, его и использовал.
Но на PD4 ничего не шевелится, ни с той прошивкой, ни с этой. Нет даже детекта. Проверю еще плату, конечно, может друзья-китайцы не допаяли
 
P

Postal2

  • 9 Авг 2020
DIMM_bl4 сказал(а):
Но на PD4 ничего не шевелится
Наверно, я забыл порт на выход включить, сейчас посмотрю.
 
P

Postal2

  • 9 Авг 2020
Да, забыл порт включить. (исправлено ниже по странице)
 
Последнее редактирование:
D

DIMM_bl4

  • 9 Авг 2020
Теперь PD4 появился, но он полностью повторяет форму CTL1 (подписал), соответственно CS рвется, и последний байт теряется. Переключился на 48МГц, да, там как раз 8 последних тактов.
При "Short Step" читается правильный дамп, но заметно медленнее.
Текст скрыт от гостей. Для просмотра войдите в свой аккаунт.
 
P

Postal2

  • 9 Авг 2020
Да, ошибка была. Пришлось добавить пару инструкций. Также я заметил, что после загрузки FW устанавливается low speed usb, на этой скорости fx2lp-девайс работать не может, а "reconnect" у меня изменена команда была. Поэтому выкладываю всё сразу, после загрузки fw нажать reconnect, затем закрыв окошко нажать "test" - покажет, на какой скорости. Если HS - всё работает.
___
Я исправлю потом, чтобы reconnect не нужен был. Где-то в выборе режима ошибка (в прошивке), но пока так.
 

Вложения

  • postal_fx2lp_prealfa2.rar
    354,8 КБ · Посмотрено: 90
Последнее редактирование:
D

DIMM_bl4

  • 9 Авг 2020
Не, так что-то еще поломалось.
После Reconnect, кнопка Test - и все вроде бы хорошо (HS mode).
Но даже Version вываливается в ошибку
Текст скрыт от гостей. Для просмотра войдите в свой аккаунт.

Извиняюсь, м.б. в личку?

PS
Виноват, сам невнимателен был. Не заметил переключатель на I2C.
Да, теперь все работает, CS не рвется, дамп правильный
 
Последнее редактирование:
P

Postal2

  • 9 Авг 2020
DIMM_bl4, тут главное было придумать концепт, как оно должно работать (протокол). А реализацию я подчищу.
 
D

DIMM_bl4

  • 9 Авг 2020
Не, я ж без претензий )
Руки очень чесались пощупать как оно вообще. Ну и с FTDI сравнить, конечно.
Теперь сижу ровно, жду новостей, к тестам готов.

Я в эту ветку и попал в поисках быстрого SPI, не судите строго.
Пробовал "разгонять" и классический postal3 avr, подправить два байтика, так сказать.
Прошивку прилагаю, вдруг кому пригодится, UART baud = F/8 (U2x режим).
CP2102 под замену, экспериментировал с различными USB-UART на скоростях 1.84, 2.00, 2.50 (да, мега 8 на 20МГц и 3.3В, знаю).
PL2303HX, CH340 не понравились - нет стабильности на высоких скоростях, одна отваливается на ноуте, другая не работает на компе. FT232RL - мрак по скорости, FT232H - мощь, но смысл?
Остановился на CP2104 и 1,84 Mbaud, чтобы оставить кварц на 14,7МГц (хотя на 14,318, конечно), чтобы не ушли тайминги для остальных режимов, пультов и т.д.
 

Вложения

  • emmc_postalavr_mega8_U2x.zip
    6,9 КБ · Посмотрено: 53
P

Postal2

  • 9 Авг 2020
DIMM_bl4, "разгонять" классический девайс нет смысла, он оптимален. Питание AVR-Mega критично для встроенного eeprom, который не используется. Поэтому всё прекрасно работает при 3.3.
FT232RL также будет поддерживаться. Потихоньку делаются остальные функции. И ладно бы Мега, но почему-то за 10 лет никто FT232H к eMMC не подключил, это несколько обескураживает и наводит на пессимизм.
 
Z

Zodiac777

  • 12 Авг 2020
Postal2,
А полноценной работы со статус -регистрами spi-flash так и не будет? То , что сейчас - нечто ущербное с одним регистром и то без возможности прописывать конкретные значения. Например, для тех-же самсунгов MU, KU, NU и т.п. писать нужно ДВА регистра...
 
D

DIMM_bl4

  • 12 Авг 2020
Postal2 сказал(а):
"разгонять" классический девайс нет смысла, он оптимален
Ну как, вообще-то профит есть. Чтение почти в два раза, запись - меньше, но тоже ощутимо. Видно же, что при 0.92 мега большую часть времени простаивает и ждет медленный UART. А если это достигается практически бесплатно, то почему нет? Заменить один копеечный USB-UART на другой, и чуть поправить прошивку. Да, в дизасме пришлось повозиться, но в исходниках-то это легко.
Девайс один, поэтому просто совместил масштабы по времени:
Текст скрыт от гостей. Для просмотра войдите в свой аккаунт.

Цифры такие:
W25Q64:
CP2102, U2x=0, 921600 baud
read 2m 03s, write 4m 14s;
CP2104, U2x=1, 1843200 baud
read 1m 15s, write 3m 10s ;

По записи есть еще один момент, я его заметил еще при экспериментах с FTDI, но не стал писать, подумал - альфа )
А оказывается, "классический" девайс тоже пишет кусками по 64 байта. В итоге в четыре раза больше простоев на WREN и RDSR в ожидании -BUSY. ShortStep отключен, проверял на последней альфе, и на предыдущих версиях - одинаково.
Извиняюсь, если уже обсуждалось, и я просто повторяюсь, но почему?
 
R

radiofan72

  • 13 Авг 2020
Поэкспериментировал с заблокированной на запись SD. Карту подключил arduino-адаптером
SD Card Module _07.jpg

Похоже, кнопка "Write EE" пока не работает. Поэтому вначале прочитал 1ГБ после загрузки postal.hex кнопкой "Write RAM". Потом записал при помощи прищепки и классического Девайса файл postal.iic (писал как ".bin") в EEPROM и снова считал SD. В первом случае чтение заняло где-то 1:33, во втором - 1:01. Для сравнения, классический Девайс считал тот же объем примерно за 4,5 часа. Далее привожу лог для случая с запрограммированной EEPROM:

Connection opened .
- sending vendor cmd...
version=001, answer OK.
- USB speed OK. (HS mode)
fx2lp device closed.
Config saved .
Connection opened .
- sdcard over 2GB assigned .
- csd.bin saved .
- perm WP enabled !
- tmp WP disabled .
- Size = 15079MB
fx2lp device closed.
Connection opened .
- boot partitions skipped .
"user.bin" - done .
fx2lp device closed.


Все бы хорошо, но только верификация не проходит. Попробовал считать два раза подряд и сравнить результаты в редакторе. Лог сравнения в файле Report.txt.
 

Вложения

  • Report.txt
    115,2 КБ · Посмотрено: 23
P

Postal2

  • 13 Авг 2020
DIMM_bl4 сказал(а):
пишет кусками по 64 байта.... почему?
Буфер 256 байт, был выбор 128 и 64 на запись. На тот момент (10 лет назад) были spi, не умеющие 128. Переделывать не буду. Однако, раз такой интерес, выкладываю наипоследний исходник прошивки Классического. Это одна из лучших прошивок, созданных для Меги 8 когда-либо.
radiofan72 сказал(а):
Все бы хорошо, но только верификация не проходит. Попробовал считать два раза подряд и сравнить результаты в редакторе.
Передачи по eMMC-шине защищены контрольной суммой 16 бит, ошибка со стороны Девайса исключена.
radiofan72 сказал(а):
В первом случае чтение заняло где-то 1:33, во втором - 1:01.
Протокол eMMC допускает задержки.
radiofan72 сказал(а):
Похоже, кнопка "Write EE" пока не работает.
Да, пока не сделано, но будет работать. Одновременно с упрятыванием прошивки внутрь Проги, т.к. для работы с eeprom нужно сначала прошивку грузить в RAM.
 

Вложения

  • source_postalavr_mega8_emmc.rar
    30,8 КБ · Посмотрено: 78
  • Like
Реакции: хан
R

radiofan72

  • 13 Авг 2020
Postal2 сказал(а):
Передачи по eMMC-шине защищены контрольной суммой 16 бит, ошибка со стороны Девайса исключена.
Допускаю, что глючит SD, позже попробую с другой, заведомо исправной. Кстати, какой размер блока, по которому контрольная сумма считается? И было бы неплохо добавить поддержку записи в регистр CSD, если не ошибаюсь, команда 27.
Postal2 сказал(а):
Протокол eMMC допускает задержки.
Здесь лишь разница в том, откуда бралась прошивка киприсом: по USB или из EEPROM. Результат стабильный при нескольких считываниях. Получается, при прошитой EEPROM на чтение работает 1,5 раза быстрее.
 
D

DIMM_bl4

  • 13 Авг 2020
Postal2 сказал(а):
На тот момент (10 лет назад) были spi, не умеющие 128. Переделывать не буду.
10 лет назад, девайс - не спорю. Хотя читает вроде страницу целиком (W4R256), значит, на это хватает буфера. А, понял. При записи, видимо, в буфер попадают и данные для записи, и предварительные операции (WREN, передача адреса). А делать буфер больше 256 накладно с точки зрения 8-бит архитектуры.
Но FTDI ведь пишется сейчас, для неё будет запись по 256? Большего не прошу )
 
P

Postal2

  • 13 Авг 2020
radiofan72 сказал(а):
Допускаю
Почитайте спецификацию eMMC.
radiofan72 сказал(а):
при прошитой EEPROM
Проверю, когда eeprom сделаю. По идее, вся документация говорит, что разницы нет.
DIMM_bl4 сказал(а):
Но FTDI ведь пишется сейчас, для неё будет запись по 256?
Нет. Будет эмулироваться имеющийся протокол. Source прошивки, в котором всё ясно про буфер (что их 2) выкладывался с самого начала. Очень жаль читать вопросы без понимания предмета.
 
R

radiofan72

  • 15 Авг 2020
Postal2 сказал(а):
Проверю, когда eeprom сделаю.
А панельку для программирования внешней eeprom (ножки 5, 6, 7) к каким контактам подключать? Или это еще не сделано?
 
Последнее редактирование:
P

Postal2

  • 15 Авг 2020
radiofan72, это прямо сейчас делается и будет выложено по готовности. После этого будет доделана поддержка FTDI для всех режимов.
 
  • Like
Реакции: elektrik и jems
K

Kit70

  • 19 Авг 2020

Postal2

Простите, но спрошу еще раз) Для ардуино какую нужно прошивку заливать? И уверенно ли работает ардуина от 3 вольт?
 

Верх Низ