TS3USB30EDGSR
Да есть, 10 ом...
- Подпись автора
By Admin
USMI |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » JL SoC. (杰理芯片) Programmer (Dongle) (Download Tool) Программатор.
TS3USB30EDGSR
Да есть, 10 ом...
By Admin
а китайцы доводят до ума работу со своим донглом...
"в худшем случае - будет два тоннеля".
какую релюху используешь?
я тут начал смотреть в сторону модулей qualcomm. давно валяется в запасах qcc3034, на 4пда появилась тема об этих модулях...
китайцы в защите своих модулей и функций, кажется, думают, как та курица, убегающая от петуха: "а не бегу ли я слишком быстро?"
какую релюху используешь
Я юзал на 12 вольт два канала, через транзистор управлял обмотками, работало класно.
А что там ро китайчев с донглом? Как доводят?
By Admin
я кстати тоже. У меня есть пару чипов от квалкомма.
By Admin
а что там с китайскими чатами в wechat и qq где у них поддержка? не смотрел?
я кстати тоже. У меня есть пару чипов от квалкомма.
на 4пда пишут, что старшие модели могут в usb-transmitter в aac и ldac. в aac я с трудом верю. кодек хороший, но шибко уж legacy и не для того он был сделан.
модули со старшими чипами и стоят весьма прилично. а преимущество в поддержке новых кодеков - ну я не слышал новых кодеков...
а что там с китайскими чатами в wechat и qq где у них поддержка? не смотрел?
Нет не смотрел. Я просто думал ты что то знаешь..
а китайцы доводят до ума работу со своим донглом...
By Admin
вроде, недавно в яндексе стало возможно переводить документы pdf.
надо двигаться дальше.
? и при чем тут это? в гугле можно лет 20 как уже)
Вроде последнийдонгл это v4 ч пару страниц назад выложил прошивку последнюю 23 года.
By Admin
максимум чтл они сделали - прошивку кое каких чипов без кварца.
By Admin
У меня этот кусок кода на STM32 отрабатывает стабильно на AC6965, не важно - чип включается вместе с STM или сначала STM включаю и потом включаю чип.
Правда насчёт USB, у меня он напрямую с STM к чипу подключен, без всяких ключей...
Код:void Send_USBkey(void) { /* send the key repeatedly until the target acknowledges */ for (;;) { /* switch to output */ GPIOB->CRH = (GPIOB->CRH & ~(0xff<<8)) | (0x33<<8); /* send the 0x16EF key */ for (uint16_t mask = 0x8000; mask; mask >>= 1) { /* set data on D- */ GPIOB->BSRR = (0x16EF & mask) ? (1<<11) : (1<<27); /* pulse clock on D+ (rising edge) */ GPIOB->BSRR = (1<<26); /* low */ for (volatile int i = 100; i; i--); GPIOB->BSRR = (1<<10); /* high */ for (volatile int i = 100; i; i--); } /* switch to input with pullup */ GPIOB->CRH = (GPIOB->CRH & ~(0xff<<8)) | (0x88<<8); GPIOB->BSRR = (1<<10)|(1<<11); /* pullup */ /* If both D+ and D- is low, then we're done! */ if (!(GPIOB->IDR & (3<<10))) break; } /* release! */ GPIOB->CRH = (GPIOB->CRH & ~(0xff<<8)) | (0x00<<8); }
水Mizu-DEC JLtech since 22.06.2019
надо бы анализатором подключиться, хотя, что там увидишь. и на другом компе.
тот скетч, что на первых страницах, он актуален? или, может, актуальны другие задержки?
АС6956L питание подаю через ключ, соединение через герконовые реле. Была проблема - на Vbat висит здоровый конденсатор, поставил параллельно резистор, чтобы быстрее разряжался.
void clockOut(uint8_t value) { digitalWrite(DATA_PIN, value); digitalWrite(CLOCK_PIN, 0); delayMicroseconds(15); digitalWrite(CLOCK_PIN, 1); delayMicroseconds(15); } void clockOut1(int value) { digitalWrite(DATA_PIN, value); digitalWrite(CLOCK_PIN, 0); delayMicroseconds(15); digitalWrite(CLOCK_PIN, 1); } void sendKey() { clockOut(0); clockOut(0); clockOut(0); clockOut(1); clockOut(0); clockOut(1); clockOut(1); clockOut(0); clockOut(1); clockOut(1); clockOut(1); clockOut(0); clockOut(1); clockOut(1); clockOut(1); clockOut1(1); } void setup() { pinMode(VCC_PIN, OUTPUT); pinMode(USB_CONNECT_PIN, OUTPUT); digitalWrite(VCC_PIN, 0); delay(15); pinMode(CLOCK_PIN, OUTPUT); pinMode(DATA_PIN, OUTPUT); sendKey(); pinMode(CLOCK_PIN, INPUT); pinMode(DATA_PIN, INPUT); digitalWrite(USB_CONNECT_PIN, 1); }
***********
Для проверки на подтягивание ног к земле ардуиновского pullupa не хватало, чип всегда тянет довольно сильно к земле. Поставил внешний резистор - 10к было много, с 3к заработало.
Отредактировано amateur (2023-05-27 20:39:56)
Обнаружил что если отправлять кей на D+D- через строго определенное время после подачи питания то подключается сразу без танцев с бубном. На AC6905A: 22-26 мс, AC6956L: 10-20 мс, AC6925C:13-22 мс
void setup()
{
pinMode(VCC_PIN, OUTPUT);
pinMode(USB_CONNECT_PIN, OUTPUT);
digitalWrite(VCC_PIN, 0);
delay(15);
pinMode(CLOCK_PIN, OUTPUT);
pinMode(DATA_PIN, OUTPUT);
sendKey();
pinMode(CLOCK_PIN, INPUT);
pinMode(DATA_PIN, INPUT);
digitalWrite(USB_CONNECT_PIN, 1);
}
Ага, я так и подозревал, что тут ключ отправлется один раз, из-за чего нужна задержка чтобы чип был готов к приёму этого ключа.
Конечно оно будет работать стабильно, ибо ключ отправляется один раз в нужное время и так можно не отлавливать ответ от чипа, а сразу подключить USB...
水Mizu-DEC JLtech since 22.06.2019
чип всегда тянет довольно сильно к земле.
Отредактировано amateur (Сегодня 19:39:56)
даже не к земле а где-то на половине питания.
/*********** AC6XXX Series DFU Trigger Code ********************************* Ver : 1.3 Code of Arduino UNO MCU : ATMEGA 328 + Standard Arduino Bootloader 23/04/2021 19:04 *****************************************************************************/ #define DATA_PIN SDA //D- #define CLOCK_PIN SCL //D+ #define RELAY_BUS A3 //управление ключом шины #define RELAY_POWER A2 //управление ключом питания(+) #define LED 13 //светодиод #define KEY_MODE_1 2 boolean answer = 0; //статус ответа boolean done = 0; //0-время не вышло, 1 - время вышло (подача сигналов) boolean setupdone = 0; //0-переинициализации не было, 1- была unsigned long ann = 0; //засечка времени unsigned long timecount = 0; //то же самое) int cnt; //счетчик сигналов int buttonState = 0; void clockOut(int value) { digitalWrite(DATA_PIN, value); digitalWrite(CLOCK_PIN, 0); delayMicroseconds(20); digitalWrite(CLOCK_PIN, 1); delayMicroseconds(25); } void setup() { if (done == 0) { pinMode(KEY_MODE_1, INPUT); pinMode(CLOCK_PIN, OUTPUT); pinMode(RELAY_POWER, OUTPUT); pinMode(DATA_PIN, OUTPUT); pinMode(LED, OUTPUT); digitalWrite(LED, 1); digitalWrite(LED, 0); digitalWrite(KEY_MODE_1, 1); } else { pinMode(KEY_MODE_1, INPUT); pinMode(CLOCK_PIN, INPUT); pinMode(DATA_PIN, INPUT); pinMode(RELAY_POWER, OUTPUT); pinMode(RELAY_BUS, OUTPUT); pinMode(LED, OUTPUT); digitalWrite(LED, 0); } } void loop() { { if (answer == 0) { //если нет ответа if (cnt == 1) { //количество сообщений done = 1; //сигналы посланы if (setupdone == 0) { //если переинициализации не было setup(); //переинициализация setupdone = 1; //переинициализация выполнена timecount = micros(); //старт отсчета 50 микросек } if (digitalRead(SCL) == 1) { //если на ноге + answer = 1; //статус ответа } else if (micros() > 50 + timecount) { //если в течение 50 мкс нет ответа done = 0; //сбрасываем все переменные setupdone = 0; ann = millis(); timecount = 0; answer = 0; cnt = 0; setup(); //переинициализация } } else { //если не все сообщения посланы clockOut(0); clockOut(0); clockOut(0); clockOut(1); clockOut(0); clockOut(1); clockOut(1); clockOut(0); clockOut(1); clockOut(1); clockOut(1); clockOut(0); clockOut(1); clockOut(1); clockOut(1); clockOut(1); delayMicroseconds(20); digitalWrite(DATA_PIN, 0); digitalWrite(CLOCK_PIN, 0); /// digitalWrite(KEY_MODE_1, 0); cnt++; } } else { digitalWrite(RELAY_BUS, answer); digitalWrite(RELAY_POWER, answer); // состояние ключа шины после принятия ответа digitalWrite(LED, answer); //LED } } }
By Admin
Не тестил на 695 и выше, но на 690 и 692 работало идеально...
By Admin
amateur
твой вариант сработал. br25 появился.
а jluboottool не хочет работать с 6965а.
=>JL: read 0 0x80000 6965.bin Traceback (most recent call last): File "jluboottool.py", line 709, in <module> ds.cmdloop() File "C:\Python38-32\lib\cmd.py", line 138, in cmdloop stop = self.onecmd(line) File "C:\Python38-32\lib\cmd.py", line 217, in onecmd return func(arg) File "jluboottool.py", line 212, in do_read data = self.dev.flash_read(address, n) File "C:\tmp\jltest\jl_uboot.py", line 111, in flash_read return self.exec_cmd_datain(b'\xfd\x05' + addr.to_bytes(4, 'big') + File "C:\tmp\jltest\jl_uboot.py", line 84, in exec_cmd_datain self.dev.execute(cmd, None, data) File "C:\tmp\jltest\scsiio\win32port.py", line 133, in execute raise SCSIException('Transfer failed... %s' % ctypes.WinError()) scsiio.common.SCSIException: Transfer failed... [WinError 121] Превышен таймаут семафора.
Отредактировано ender11 (2023-05-28 11:26:17)
А кто знает , через батник можно ли как то управлять UART? Например посылать ардуине команды через уарт?
Это нужно для дебага, очень бы упростило жизнь. Лень тыкать усб туда сюда, и нажимать на донгле кнопочку....
By Admin
Ну например, через "echo ..... > COMx", где COMx заменить на нужный порт (вроде как для портов больше девяти нужно указывать как \\.\COMxx)
То что в ..... будет отправлено в указанный порт как строка.
水Mizu-DEC JLtech since 22.06.2019
То что нужно. А как с параметрами? Скорость, разрядность и тд?
By Admin
Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » JL SoC. (杰理芯片) Programmer (Dongle) (Download Tool) Программатор.