Обсуждение TLSR8269

nikolz

Well-known member
Вы указываете, что у вас всё собирается и документация на SDK есть - т.е. вам хватает всего для написания программ.
Вариант гаданий, основанный на ваших данных:
В доках (и вроде в примерах) есть установка скорости swire. Кварцы и частоты у чипов могут быть разными...
Регистры swire описаны в register_826?.h
Пример:
Код:
/****************************************************
swire regs struct: begin  addr : 0xb0
*****************************************************/
#define reg_swire_data            REG_ADDR8(0xb0)
#define reg_swire_ctrl1            REG_ADDR8(0xb1)
enum{
    FLD_SWIRE_WR  =             BIT(0),
    FLD_SWIRE_RD  =             BIT(1),
    FLD_SWIRE_CMD =                BIT(2),
    FLD_SWIRE_USB_DET =            BIT(6),
    FLD_SWIRE_USB_EN =            BIT(7),
};

#define reg_swire_clk_div        REG_ADDR8(0xb2)
Для работы swm или sws надо ещё включить на них CLK - биты включения описаны там-же, в register_826?.h.
Напишите тест вечной передачи в swire...
Перебрав пару вариантов примеров, да загрузив тестовый код в SRAM, получите 2..4 варианта скорости swire на осциллографе.
Вариант 2:
В SDK лежат бинарники EVK и есть полный пакет GCC. В него входит дизасм.
Меняете в бинарнике EVK что не совпадает у чипа 8266 на чип 8269 (не изучал - может вся адресация совпадает) и прошиваете.
У чипа с 48 ног в EVK ноги никуда не разведены (см. схема в доках), а используемые есть и у 8269 на 32 ноги.
В 8266 SWR совмещен с PA7,а в 8269 они еще совмещены с TRx.
Но по вашей подсказке попробую собрать какой-нибудь тест.
Непонятно лишь то, что если надо устанавливать CLK то это нельзя cделать на SWS у камня который умер
и еще в BDT есть режим "активировать" именно о нем говорит telink
полагаю это что-то как В SWIM активировать у STM
 

pvvx

Активный участник сообщества
Непонятно лишь то, что если надо устанавливать CLK то это нельзя cделать на SWS у камня который умер
Без живого камня не узнать. Требуется считать все регистры с живого и определиться со значениями по умолчанию.
Наверняка всё там включено по старту.
BDT есть режим "активировать" именно о нем говорит telink
полагаю это что-то как В SWIM активировать у STM
А может он просто ставит бит FLD_SWIRE_USB_DET и/или FLD_SWIRE_USB_EN...
Все коды из BDT USB->Swire тоже можно узнать работая с чистым чипом... Можно и в Wireshark по логам USB.
А без чипа симулировать USB пока нет никакого желания.
PS: я лучше пока раскручу игрушку USB-Tester QWAY-U2p. Управление через BT уже раскрутил - можно писать прогу на Android и PC... :)
 

pvvx

Активный участник сообщества
Потребление модуля E104-BT10-N (установки = factory: предварительно послано 02 0c 15).
Питание 3.3B, на старте reset к gnd, другие ноги не подключены:
Power_E104-BT10-N_reset.gif
Уточнение при отпускании reset (фрагмент из пред.):
Power_E104-BT10-N_start.gif
(время в мс)
При активном reset четкий прием 50Гц на висящие ноги.
Итого: жрет много.
 

nikolz

Well-known member
Потребление модуля E104-BT10-N (установки = factory: предварительно послано 02 0c 15).
Питание 3.3B, на старте reset к gnd, другие ноги не подключены:
Посмотреть вложение 7915
Уточнение при отпускании reset (фрагмент из пред.):
Посмотреть вложение 7916
(время в мс)
При активном reset четкий прием 50Гц на висящие ноги.
Итого: жрет много.
я измерял у TLSR8266 на заводской прошивке ,
получалось 8 ма без BLE и 24 ма c BLE .
 

pvvx

Активный участник сообщества
С какой целью?
Вы тут многим форумчанам советовали использовать TLSR, а средств для работы с ними никаких нет и не предоставили, кроме как выступать "ждуном" неизвестно чего :)
В итоге один модуль TLSR обойдется дороже полной платформы типа PI (Linux/OpenWRT) со встроенным BLE.
Я вам выкладывать "reverse engineering" пока не намерен. Жду реального хода от вас :p
 

nikolz

Well-known member
С какой целью?
Вы тут многим форумчанам советовали использовать TLSR, а средств для работы с ними никаких нет и не предоставили, кроме как выступать "ждуном" неизвестно чего :)
В итоге один модуль TLSR обойдется дороже полной платформы типа PI (Linux/OpenWRT) со встроенным BLE.
Я вам выкладывать "reverse engineering" пока не намерен. Жду реального хода от вас :p
Я у Вас ничего не прошу и никому ничего не обязан, особенно на этом форуме.
Не надо своих обезьян вешать на меня.
И пора уж прекратить вешать ярлыки, уже даже не смешно, а своим хамством Вы никого не удивите.
это Вы тут раб на галерах,
а я так -погулять вышел.
 

pvvx

Активный участник сообщества
Я у Вас ничего не прошу и никому ничего не обязан, особенно на этом форуме.
Не надо своих обезьян вешать на меня.
И пора уж прекратить вешать ярлыки, уже даже не смешно, а своим хамством Вы никого не удивите.
это Вы тут раб на галерах,
а я так -погулять вышел.
Тогда гуляйте :)
У меня всё хорошо с TLSR. Залил программку - принимает и передает PC<->Android<->модуль(com-port) через MESH:
Screenshot_1.gif Screenshot_2.gif term-send.gif
 

pvvx

Активный участник сообщества
3 GPIO на модуле работают на PWM 600 Гц - RGB цвет.
PWM_OUT.gif
Screenshot_3.gif
On/Off делается плавно за счет PWM.

И на Android есть функция OTA - предлагает загрузить бинарный файл.
 

pvvx

Активный участник сообщества
Короче все проблемс с iTag решены...
Ждем ждуна @nikolz :)
 

pvvx

Активный участник сообщества
Не поможет. Есть масса условий когда EVK не сможет достучаться до чипа (хоть через sws).
Одно из них - другой кварц или переключение на внутреннее тактирование в чипе :p
А модули имеют разные кварцы и заливка в них неверных прошивок приведет к кирпичу. Связи по USB, BT, SWS или COM не будет, т.к. скорость не совпадет с EVK.
Есть ещё другие условия для окирпичивания для EVK...
В итоге для пользователей уровня @nikolz чип является одноразовым, типа с OTP.
Я думаю что это надо так и оставить, чтобы никакое Arduino на него не распространилось.
 

pvvx

Активный участник сообщества
Слепил на STLink клоне за 90 руб программатор swire. Почти слепил - надо как-то примотать транзистор или TTL с OK на выход и соединить со входом...
Такой выход на него (пример передачи по адресу 0x0004 слова 0x55AA) на 1.1 Мегабит (выборочно):
sws_write_0004_55AA.gif
Чтение, но ничего не подключено (транзистор не припаял и а сигнал инвертирован программно на осциллографе, чтобы совпадало с диаграммой в PDF) :
sws_read_0004_not_dev.gif
Байтики он сам декодирует на приеме... Тактирование бит аппаратное. Можно ещё сильно разогнать в МГц-ы но там подтягивающий резистор и провод на шине... Короче: не всякий транзистор потянет переключения в десятку нс с проводом и резистором :)
 

sharikov

Active member
Слепил на STLink клоне за 90 руб программатор swire. Почти слепил - надо как-то примотать транзистор или TTL с OK на выход и соединить со входом...
...
Короче: не всякий транзистор потянет переключения в десятку нс с проводом и резистором :)
2N7002 ?
74LVC1G125 / 126 ?
 

pvvx

Активный участник сообщества
2N7002 ?
74LVC1G125 / 126 ?
Да просто скорость снизить. Это же шина swire для отладки и реанимации чипов - там скоростей к 2-м мегабитам (как сказано в PDF) не требуется. В приложениях SDK в его регистры пишут нехилый делитель, а скорости чтения приведены в картинках и не превышают десятки килобайт.
На swire при 2 мегабита выходит импульс строба бита в 1/5, а это уже за 10 МГц пропускной по проводку то с пимпачками и подтягивающему резистору в пару кОм, та и выход у чипов хилые по нагрузке :) ...
 

pvvx

Активный участник сообщества
@sharikov - вы тоже решили побаловаться TSLR?
В них у всех OTA из SDK. Работают и прошиваются. Но опасно - на многих модулях стоят другие кварцы, не как в SDK. Если не исправите или какой глюк - получите кирпич. BT и USB не заведется, а swire может быть отключена в GPIO и т.д.
Прикольные чипы - типа OTP, а не Flash :)
 

pvvx

Активный участник сообщества
2N7002 ?
74LVC1G125 / 126 ?
Я пошел другим путем... По проще - инвертировал выход и соединил pin OUT через резистор 750 Ом с pin IN.
А далее от IN к SWS модуля.
Запросил 9 байт у модуля по SWIRE:
sws_write_get_9_bytes.gif
Модуль отвечает со скоростью: 1 bit 783 nc при 12 MHz кварце.
Т.е. CLK SWIRE 156.6 nc.
Надо писать оболочку к программатору в переписанный STLinkV2 (90 руб)... Но пока лень.
 

pvvx

Активный участник сообщества
Swire реализовал как USB-COM на STM32F103C8T6 или CKS32F103C8T6 в китай-подделке STLinkV2.
т.е. на любой из этих
 
Сверху Снизу