https://github.com/kagaimiq/jl-misctools
Спасибо!
Переезжаю в другую тему, так как там более уместно обсуждать прошивку.
USMI |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » Перевод JL чипов в uboot режим с помощью ардуино
https://github.com/kagaimiq/jl-misctools
Спасибо!
Переезжаю в другую тему, так как там более уместно обсуждать прошивку.
Приветствую, пытаюсь подключить чип 6901 через колодку к донглу, не определяется как бр17. Земли соединил все и аналоговые, пробовал на прямую и через конденсаторы. Посоветуйте куда капнуть.
Приветствую, пытаюсь подключить чип 6901 через колодку к донглу, не определяется как бр17. Земли соединил все и аналоговые, пробовал на прямую и через конденсаторы. Посоветуйте куда капнуть.
Из описания следует что копать можно в любую сторону. Более конкретно можно посоветовать увидев схему, фото конструкции, конкретно что за донгл, скетч и.т.д
Донгл с Китая версия 4.0 подключал чип по схеме с гит хаба где все земли объединил и на 13 и 14 пин повесил кварц , определяется как неизвестное устройство.
Пробовал и без донгла на прямую через шнур, определяется так же с ошибкой, чип с Алика чистый
Схема была от другого чипа. Для нового(чистого) чипа донгл не требуется. Проблемы могут быть в чипе, его обвязке, подключении к пк.
Схема на другой чип да, но на 6901 пины другие но подключение такое же
Подскажите, бьюсь над программатором для перевода BR17 в режим загрузки. На форуме постоянно встречаются не соответствия D+\D- к DATA\CLOCK. Как правильно должна идти раcспиновка.
На данный момент у меня собрана макетка на esp32c3, питание дергаю, шину usb отключаю\подключаю, но ответа нет.
Пробовал скетчи с первой страницы и JL SoC. (杰理芯片) Programmer (Dongle) (Download Tool) Программатор.
Пины естественно переопределял.
На осциллограммах с форума, до подачи сигнала, на d+\d- видны низкие или высокие уровни, но не понятно какими они должны быть.
На форуме постоянно встречаются не соответствия D+\D- к DATA\CLOCK
А где конкретно постоянно встречаются? Мне не попадалось. На одной из плат USBDP использовался как KEY и там висел конденсатор 1нФ на землю, тоже не хотело работать.
Вот здесь https://github.com/kagaimiq/jl-uboot-to … r-uboot.md
D- is the clock line and D+ is the data line
На первой странице в коде
#define PIN_DATA 11 // D- chip WHITE
#define PIN_CLOCK 10 // D+ chip GREEN
Вот в этом сообщении Перевод JL чипов в uboot режим с помощью ардуино
D- DATA
D+ CLOCK
Вот в этом сообщении Перевод JL чипов в uboot режим с помощью ардуино
D- CLOCK
D+ DATA
У меня наушники NIA, с чипом JL. У этих наушников есть приложение NIA App connect, которое позволяет с телефона лазить по файловой системе флешки, установленной в наушники и выбирать треки.
Шина узб прямая, от разъема до чипа конденсаторов нет. Питаю от 3.3. Подача питания через p канальный мосфет, шину данных переключаю микросхемой, которая работала на uart и проблем не было.
Каждый раз когда подаю питание, наушники говорят приветственное сообщение.
Вот здесь https://github.com/kagaimiq/jl-uboot-to … r-uboot.md
D- is the clock line and D+ is the data line
Ну здесь опечатка, я как-то писал kagaimiq об этом в личку.
Вот в этом сообщении Перевод JL чипов в uboot режим с помощью ардуино
D- DATA
D+ CLOCKВот в этом сообщении Перевод JL чипов в uboot режим с помощью ардуино
D- CLOCK
D+ DATA
А это товарищ просто хаотично работает
На первой странице в коде
#define PIN_DATA 11 // D- chip WHITE
#define PIN_CLOCK 10 // D+ chip GREEN
Это правильно
Советую почитать тут и ранее
JL SoC. (杰理芯片) Programmer (Dongle) (Download Tool) Программатор.
Значит правильно подключился
Уже читал, сейчас просто за хардкодил последовательность и проверяю
Вот что получаю

Поставил перебираться, увеличивая задержку после подачи питания от 5мс и задержкой отправки 0x16EF в диапозоне от 5-100мкс.
Как только отработает, должен провалится в вечный цикл и подключится к узб.
void check_ask() {
pinMode(PIN_CLOCK, INPUT);
pinMode(PIN_DATA, INPUT);
pinMode(PIN_PU, OUTPUT);
digitalWrite(PIN_PU, HIGH); // external pull_up on
// Проверяем что пин LOW и удерживаются так 1мс
if (!digitalRead(PIN_DATA)) {
unsigned long ackStart = micros();
// Ждём 1мс, проверяя что пины всё ещё LOW
while (micros() - ackStart < 1000) {
if (digitalRead(PIN_DATA)) {
LED = CRGB::Red; FastLED.show();
pinMode(PIN_CLOCK, OUTPUT);
pinMode(PIN_DATA, OUTPUT);
break; // ACK прервался — это не ответ
}
}
if (micros() - ackStart >= 1000) {
boot_mode_ok = 1; // ACK удерживался 1мс — это ответ! // D- pulled down
digitalWrite(PIN_USB_CONNECT, USB_ON); // connect usb
LED = CRGB::Green; FastLED.show();
Serial.println("=========================================================BOOT!!!");
while(1);
}
} else {
pinMode(PIN_CLOCK, OUTPUT);
pinMode(PIN_DATA, OUTPUT);
}
pinMode(PIN_PU, INPUT); // external pull_up off
}Отредактировано lestat (2026-04-09 16:42:03)
Схема собрана вот так 
У TS3A24159DGSR перепутал на схеме местами D+\D- но в реальности подключено все правильно, т.к перевел тестово в режим подключения к компу, определился как и положено.
Изначально размыкаю узб и выключаю питание. При каждой попытке выдерживаю 1 секунду после выключения и только потом подаю питание.
Отредактировано lestat (2026-04-09 17:09:50)
Чип древний какой, полагаю AC6904C на мегабайт.
USMicro® 2026©
// ACK удерживался 1мс — это ответ!
зачем так усложнять
Чип древний какой, полагаю AC6904C на мегабайт.
поэтому должно через 22-26 мс заводиться с первого раза
JL SoC. (杰理芯片) Programmer (Dongle) (Download Tool) Программатор.
осциллограммы прям с ног чипа сняты? Аккумулятор отключен?
Акб подключен, но переключатель питания выключен. Осциллограф подключен к донгул, на ногах проверил, сигнал идентичен.
Взял скетч из примера выше и немного доработал для удобства перебора задержки кнопкой.
#include <Arduino.h>
#define DATA_PIN 3 // D- chip WHITE
#define CLOCK_PIN 1 // D+ chip GREEN
#define VCC_PIN 7 // 0=on 1=off
#define USB_CONNECT_PIN 6 // relay
#define PIN_BT 9
#define USB_ON HIGH // замыкание по высокому уровню
#define USB_OFF LOW // размыкание по низкому уровню
#define PW_ON LOW // включение по низкому уровню
#define PW_OFF HIGH // выключение по высокому уровню
void sendKey() {
for (int8_t i = 15; i >= 0; i--) {
delayMicroseconds(15);
digitalWrite(DATA_PIN, (0x16EF >> i) & 0x1);
digitalWrite(CLOCK_PIN, LOW);
delayMicroseconds(15);
digitalWrite(CLOCK_PIN, HIGH);
}
}
bool press_bt = false;
uint8_t delay_us = 20;
void setup() {
Serial.begin(115200);
pinMode(PIN_BT, INPUT);
}
void loop() {
if (!digitalRead(PIN_BT) && !press_bt) {
Serial.printf("CURRENT delay_us = %d\r\n", delay_us);
pinMode(VCC_PIN, OUTPUT);
pinMode(USB_CONNECT_PIN, OUTPUT);
digitalWrite(VCC_PIN, PW_ON);
delay(delay_us);
pinMode(CLOCK_PIN, OUTPUT);
pinMode(DATA_PIN, OUTPUT);
sendKey();
pinMode(CLOCK_PIN, INPUT);
pinMode(DATA_PIN, INPUT);
digitalWrite(USB_CONNECT_PIN, USB_ON);
delay(1000);
press_bt = true;
} else if (!digitalRead(PIN_BT) && press_bt) {
digitalWrite(VCC_PIN, PW_OFF);
digitalWrite(USB_CONNECT_PIN, USB_OFF);
press_bt = false;
delay_us++;
Serial.printf("SET_NEW delay_us = %d\r\n\r\n", delay_us);
delay(1000);
}
delay(100);
}И чип на 23мс увиделся. На 29мс видится перестал.
Чип древний какой, полагаю AC6904C на мегабайт.
схема очень похожа на https://upforme.ru/uploads/001b/ca/8a/3/604039.png
Searching for some JieLi devices..
No devices found yet. Attempt 20 - got one!
Found a device: BR17 UBOOT1.00 (1.00) at \\.\HardDiskVolume82
Waiting for [\\.\HardDiskVolume82] try! ok (BR17 UBOOT1.00 1.00)
Chip: BR17 - AC690N series
Running loader with argument 0x0001.
The Loader has been successfully installed.
================ Quick info ==================
** BR17 (AC690N series) **
>> Chip key: 0x36EF <<
- Online device:
ID: 0x5e6014
Type: 0x03 (SPI NOR flash on SPI0)
==============================================
.------------------------------------------------------.
| _____________ .------------------------------. |
| /___ __ ___/ | JieLi UBOOT Tool |
| / / / / | - Das Shell - |
| __ / / / / `------------------------------. |
| / /_/ / / /____ -*- JieLi tech console -*- | |
| `____/ /______/ Type 'help' or '?' for help. | |
| `------------------------------' |
`------------------------------------------------------'
=>JL:Под флеш в мегабайт правильная команда dump 0x0 0x100000 fw.bin?
| JL SoC. 杰理芯片 | MCU, SoC, CPU Микроконтроллеры | 2026-04-29 |
Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » Перевод JL чипов в uboot режим с помощью ардуино