USMI

Объявление

12/06/2025 (Administration) - Spamming for the purpose of boosting messages will be punished with a ban. Спам с целью накрутки сообщений будет караться баном.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » Перевод JL чипов в uboot режим с помощью ардуино


Перевод JL чипов в uboot режим с помощью ардуино

Сообщений 81 страница 98 из 98

81

BIOS написал(а):

https://github.com/kagaimiq/jl-misctools

Спасибо!

Переезжаю в другую тему, так как там более уместно обсуждать прошивку.

82

Приветствую, пытаюсь подключить чип 6901 через колодку к донглу, не определяется как бр17. Земли соединил все и аналоговые, пробовал на прямую и через конденсаторы. Посоветуйте куда капнуть.

83

Doctorpc58 написал(а):

Приветствую, пытаюсь подключить чип 6901 через колодку к донглу, не определяется как бр17. Земли соединил все и аналоговые, пробовал на прямую и через конденсаторы. Посоветуйте куда капнуть.

Из описания следует что копать можно в любую сторону. Более конкретно можно посоветовать увидев схему, фото конструкции, конкретно что за донгл, скетч и.т.д

84

Донгл с Китая версия 4.0 подключал чип по схеме с гит хаба где все земли объединил и на 13 и 14 пин повесил кварц , определяется как неизвестное устройство.

85

Пробовал и без донгла на прямую через шнур, определяется так же с ошибкой, чип с Алика чистый

86

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

87

Схема на другой чип да, но на 6901 пины другие но подключение такое же

88

Подскажите, бьюсь над программатором для перевода BR17 в режим загрузки. На форуме постоянно встречаются не соответствия D+\D- к DATA\CLOCK. Как правильно должна идти раcспиновка.
На данный момент у меня собрана макетка на esp32c3, питание дергаю, шину usb отключаю\подключаю, но ответа нет.
Пробовал скетчи с первой страницы и JL SoC. (杰理芯片) Programmer (Dongle) (Download Tool) Программатор.
Пины естественно переопределял.

На осциллограммах с форума, до подачи сигнала, на d+\d- видны низкие или высокие уровни, но не понятно какими они должны быть.

89

lestat написал(а):

На форуме постоянно встречаются не соответствия D+\D- к DATA\CLOCK

А где конкретно постоянно встречаются? Мне не попадалось. На одной из плат USBDP использовался как KEY и там висел конденсатор 1нФ на землю, тоже не хотело работать.

90

Вот здесь 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 и проблем не было.
Каждый раз когда подаю питание, наушники говорят приветственное сообщение.

91

lestat написал(а):

Вот здесь https://github.com/kagaimiq/jl-uboot-to … r-uboot.md
D- is the clock line and D+ is the data line

Ну здесь опечатка, я как-то писал kagaimiq об этом в личку.

lestat написал(а):

Вот в этом сообщении Перевод JL чипов  в uboot режим с помощью ардуино
D- DATA
D+ CLOCK

Вот в этом сообщении Перевод JL чипов  в uboot режим с помощью ардуино
D- CLOCK
D+ DATA

А это товарищ просто хаотично работает

lestat написал(а):

На первой странице в коде
#define PIN_DATA 11 // D- chip WHITE
#define PIN_CLOCK 10 // D+ chip GREEN

Это правильно

Советую почитать тут и ранее
JL SoC. (杰理芯片) Programmer (Dongle) (Download Tool) Программатор.

92

Значит правильно подключился

Мой чип
https://i.ibb.co/Dfz1CFMf/IMG-2026-01-19-11-09-03-240.jpg

Уже читал, сейчас просто за хардкодил последовательность и проверяю
Вот что получаю
https://i.ibb.co/GfqZHL4p/IMG-2026-04-09-16-19-49-260.jpg https://i.ibb.co/S7MTMrM8/IMG-2026-04-09-16-17-34-460.jpg

Поставил перебираться, увеличивая задержку после подачи питания от 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)

93

Схема собрана вот так
https://i.ibb.co/HLrzcZGp/jl-dongle-esp32.jpg
У TS3A24159DGSR перепутал на схеме местами D+\D- но в реальности подключено все правильно, т.к перевел тестово в режим подключения к компу, определился как и положено.
Изначально размыкаю узб и выключаю питание. При каждой попытке выдерживаю 1 секунду после выключения и только потом подаю питание.

Отредактировано lestat (2026-04-09 17:09:50)

94

Чип древний какой, полагаю AC6904C на мегабайт.

Подпись автора

USMicro® 2026©

95

lestat написал(а):

// ACK удерживался 1мс — это ответ!

зачем так усложнять

96

BIOS написал(а):

Чип древний какой, полагаю AC6904C на мегабайт.

поэтому должно через 22-26 мс заводиться с первого раза
JL SoC. (杰理芯片) Programmer (Dongle) (Download Tool) Программатор.

осциллограммы прям с ног чипа сняты? Аккумулятор отключен?

97

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

Код:
#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мс видится перестал.

BIOS написал(а):

Чип древний какой, полагаю AC6904C на мегабайт.

схема очень похожа на https://upforme.ru/uploads/001b/ca/8a/3/604039.png

98

Код:
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?


Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » Перевод JL чипов в uboot режим с помощью ардуино