• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь Telink Single Wire

nikolz

Well-known member
Вот вам готовый swire на ESP8266 rumpeltux/esp-stlink
спасибо я тоже нашел исходники.
Я прочитал документацию на SWIM.
SWIM STM8 отличается от SWire Tlink существенно.
У них разная длина команд и по разному формируется байт.
Поэтому единственно что у них совпадает это формирование битов.
Похоже что Swire делали по SWIM, но упростили.
Кроме того, косвенно об этом говорит то, что в LENZE приглашают спецов знающих чипы STM.
----------------------
В SWIM есть режим активации . Надо попробовать будет реализовать его в Swire.
-------------------------
Я собственно реализовал все что известно по Swire на ESP для такта 41.5 нс на GPIO
и для 10 мггц на SPI.
но возможно не правильно реализовал медленный режим.
 

RedOrm

New member
А так пробовали?
А не подскажите что за регистр описан в таблице 7-1 ? Это регистр статуса или регистр для управления/настройки интерфейса Swire?
Интересуюсь темой на предмет возможности перешить TLSR9218A по интерфейсу Swire(UART) сторонним контроллером, например STM. Т.е. на плате присутствует TLSR9218A и STM, в STM хранится прошивка для TLSR9218A. STM и TLSR9218A соединены друг с другом по Swire(UART).
И если регистр в таблице - это регистр управления, то как к нему обращаться через Swire(UART) ? Например в протоколе указан адрес 16 бит, а адреса в таблице 8 бит. Нужно ли перед чтением/записью FLASH по Swire как то настраивать этот регистр? Если нужно, то как? И ещё много подобных вопросов.
 

pvvx

Активный участник сообщества
У TLSR92xx есть и SWS (Single Wire Slave), но никто не изучал данную серию в связи её отсутствия в популярных продуктах.

По поводу SWire для TLSR92xx в PDF есть описание регистра управления SWire. Но формат самих фреймов не описан.

Известен только формат фрейма из оригинального PDF предварительной версии для TLSR826x случайно оставленным на сайте Telink более чем 5-ти летней давности.

https://github.com/pvvx/TLSRPGM ->
Диаграмма шины и описание регистров Telink SWire контроллера: TelinkSWire.pdf
Это вырезка из ранней документации на чип TLSR8266 выложеной на сайте Telink много лет назад. В текущих версиях datasheet на чипы TRLS82xx этот раздел удален.
 

pvvx

Активный участник сообщества
@RedOrm - Берете EVK и программу BDT, соединяете с чипом и осциллографом считываете диаграмму.
Так это было сделано для прошлых серий.
Потом публикуете… А мы поглядим, и когда попадут под руку TLSR9x, возможно какая-то утилита и слепится :)
EVK ныне стоит дешево - пару тысч. руб на али. Ранее десятку...
 

RedOrm

New member
Известен только формат фрейма из оригинального PDF предварительной версии для TLSR826x случайно оставленным на сайте Telink более чем 5-ти летней давности.
Я это всё посмотрел.
А относительно TLSR8266:
А не подскажите что за регистр описан в таблице 7-1 ? Это регистр статуса или регистр для управления/настройки интерфейса Swire?

И если регистр в таблице - это регистр управления, то как к нему обращаться через Swire(UART) ? Например в протоколе указан адрес 16 бит, а адреса в таблице 8 бит. Нужно ли перед чтением/записью FLASH по Swire как то настраивать этот регистр? Если нужно, то как? И ещё много подобных вопросов.
 

pvvx

Активный участник сообщества
А не подскажите что за регистр описан в таблице 7-1 ? Это регистр статуса или регистр для управления/настройки интерфейса Swire?
Там же описано: Register configuration related to Swire communication
И ещё много подобных вопросов.
Обращайтесь в Telink и подписывайте NDA. Тогда, возможно, они ответят на ваши вопросы.
А у меня разобраны только TLSR826x и TLSR825x. И всё путем реверс-инжиниринг...
И кол-во байт для адреса в фрейме SWire и адреса регистров у TLSR826x и TLSR825x отличаются.
А для TLSR9xxxx пока ничего не знаю и не хочу.
 

pvvx

Активный участник сообщества
Так-же в дополнение - вариант хакнутых прошивок EVT старый и они ещё не поддерживают серию TLSR9xxx, т.к. она тогда ещё не вышла.
В итоге вам следует покупать EVK. https://pvvx.github.io/BDT/
И то неизвестно, закрыта или нет программа и SWS от чтения на TLSR9xxx. На них эта опция есть, в отличии от TLSR826x и TLSR825x.
 

pvvx

Активный участник сообщества
Для полной прошивки TLSR826x.
Ещё раз - смотря какая версия программатора. Эмуляция Swire для чтения на UART требует синхронизации - тогда и используется чтение-запись этих регистров.
Так-же для задания режима блочных операций при ускорении работы с Flash через SPI.
Если описывать всё, то это будут тысячи страниц форума.
Так что ищите и обрыщите сами. На все ваши вопросы есть ответы в выложенных для вас исходных кодах программаторов.
 

RedOrm

New member

pvvx

Активный участник сообщества
Предполагаю такой вариант мне подходящий: https://github.com/pvvx/TlsrComProg825x/tree/main
Тут используется только имитация UART->Swire. Как я понял.
Там в RAM на исполнение через SWire загружается код загрузчика для процессора TC32 и архитектуры чипа TLSR825x. По старту этот код в чипе включает UART и программатор переходит на работу c UART чипа.
В этом проекте прошивается только внутренняя FLASH ?
Другой нет.
 

pvvx

Активный участник сообщества
@RedOrm - ещё раз: Из имеющихся программаторов для серий TLSR82xx без полного переписывания кода ни один не подойдет для вашего чипа TLSR9218A.
Из готовых подойдет только оригинальный EVK с последним номером версии и программой BDT.
 

nikolz

Well-known member
@RedOrm - ещё раз: Из имеющихся программаторов для серий TLSR82xx без полного переписывания кода ни один не подойдет для вашего чипа TLSR9218A.
Из готовых подойдет только оригинальный EVK с последним номером версии и программой BDT.
 

pvvx

Активный участник сообщества
Это упрошенный адаптер JTAG, без SWS/SWM типа на чипе CH347 :)
 
Сверху Снизу