• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Nufront, распиновка платы, подскажите

MikeK

Member
Добрый день,
в адаптере ELM327 установлена такая вот версия платы.
запаяно всего 5 точек (+,-,tx,rx), помогите опознать что там на пин 7?
Спасибо.
 

Вложения

A_D

Active member
Судя по внешней обвязке и кол-ву пинов - это не NL6621, а больше всего похоже на RTL8710AF\RTL8711AF.
 

pvvx

Активный участник сообщества
Последнее редактирование:

MikeK

Member
В общем этот модуль стоит в таком вот адаптере ELM327
скорость модуля 115200.
Сейчас я залил свой код в микроконтроллер адаптера и потестил - прога на винде посылает команду, например ATS1 - контроллер отвечает OK и так в цикле. Период обмена 32-35 мс... это много. должно быть меньше...
как туда залезть мне и поправить настройки?
смутно помню (когда-то читал) что некоторые модули которые с завода прошиты в режим прозрачного моста, откликаются на +++, но сейчас сходу найти не могу где это мне встречалось... может кто в теме?
Я так понимаю потом AT командами можно будет модуль отстроить и сохранить изменения...
 

pvvx

Активный участник сообщества
В общем этот модуль стоит в таком вот адаптере ELM327
скорость модуля 115200.
Сейчас я залил свой код в микроконтроллер адаптера и потестил - прога на винде посылает команду, например ATS1 - контроллер отвечает OK и так в цикле. Период обмена 32-35 мс... это много. должно быть меньше...
как туда залезть мне и поправить настройки?
смутно помню (когда-то читал) что некоторые модули которые с завода прошиты в режим прозрачного моста, откликаются на +++, но сейчас сходу найти не могу где это мне встречалось... может кто в теме?
Я так понимаю потом AT командами можно будет модуль отстроить и сохранить изменения...
Не думаю, что что-то выйдет. Если стоит RTL871x с корректированным SDK от Realtek, то там минимальный тик RTOS 1 ms, а настройки LwIP из AT недоступны. 32-35 мс - это задержка от включенного по умолчанию nagle algorithm для TCP в LwIP...
UART RTL имеет аппаратную особенность при приеме символов хоть по DMA - пауза после приема последнего символа до прерывания фиксирована и составляет (счас точно не помню) около 1.5 символа (16 тиков UART baud). По этому задержку более этого значения до передачи данных в TCP стек очень сложно сделать программно. :) Но китайцы могут всё :)
 
Последнее редактирование:

MikeK

Member
Не думаю, что что-то выйдет. Если стоит RTL871x с корректированным SDK от Realtek, то там минимальный тик RTOS 1 ms, а настройки LwIP из AT недоступны. 32-35 мс - это задержка от включенного по умолчанию nagle algorithm для TCP в LwIP...
моя железка работает по принципу "чтение-запись-чтение-запись", поэтому судя по ссылке на алгоритм не должно возникать таких ситуаций...
вообще мне эта проблема знакома давно и задержка (по моему мнению) была вызвана тем что модуль ждет например 20 мс прием пакета от контроллера и только потом отсылает... эта задержка настраиваемая, когда то давно она была 100мс и вообще все плохо работало, ставил 10-13 - вроде ничего, меньше были глюки... У вас то в прошивке вашего моста все летает быстро, потому что вы ждете период 3 байта и если нет за это время ничего то отправляете (если я правильно понял одно из сообщений от вас на этом форуме)... а китайцы по другому делают... хорошо когда на дорогих модулях это через веб настраивается, а тут я думаю его нету (хотя и не смотрел)
 

pvvx

Активный участник сообщества
моя железка работает по принципу "чтение-запись-чтение-запись", поэтому судя по ссылке на алгоритм не должно возникать таких ситуаций...
В честь чаго? В uart поступили символы. После паузы в 1.5 символа их передали в TCP стек. По другому сделать невозможно - аппаратная фича у данной UART. В стеке TCP отсчитывается задержка Nagle до их передачи. Её вы и наблюдаете.
 

MikeK

Member
Вы имеете в виду что так сделано в данной Soc или это везде так?
Ведь уарт может принять не один байт а пачку и передавать в стек по определенным условиям (таймаут, кол-во симоволов, "прием определнного символа")..
вот настройка например Bluetooth ELM-327 адаптер (Железо)
 

pvvx

Активный участник сообщества
Вы имеете в виду что так сделано в данной Soc или это везде так?
Так сделано в реализации UART контроллера в RTL871x. Пауза тишины после приема последнего символа. Не корректируется. см стандартный UART от Intel :) (Может и есть корректировка в дополнительных регистрах, но обращений к ним в HAL нет).
Возникает прерывание character timeout
// define Log UART Interrupt Indication ID
/*
IIR[3:0]:
0000 = modem status
0001 = no interrupt pending
0010 = THR empty
0100 = received data available
0110 = receiver line status
0111 = busy detect
1100 = character timeout
*/
От этого исторически и сложилось значение 1.5 символа в Modbus.
Т.е. все остальные задержки - искусственные и их надо вписывать самому :)
 
Последнее редактирование:

MikeK

Member
чтобы я правильно вас понял, проговорю: идет пакет допустим 20 байт сплошняком, UART их всех положил в буфер, потом через таймаут 1.5 символа генерируется прерывание и в нем эти 20 байт запихиваются в TCP пакет, и дальше вступает в действие алгоритм, который ждет некий таймаут2 вдруг еще что-то нужно будет передать... я правильно понял логику? и главное что таймаут2 алгоритма я не могу настроить\изменить\отключить (например AT командами)?
 

pvvx

Активный участник сообщества
чтобы я правильно вас понял, проговорю: идет пакет допустим 20 байт сплошняком, UART их всех положил в буфер, потом через таймаут 1.5 символа генерируется прерывание и в нем эти 20 байт запихиваются в TCP пакет, и дальше вступает в действие алгоритм, который ждет некий таймаут2 вдруг еще что-то нужно будет передать... я правильно понял логику?
Да.
 

MikeK

Member
как проверить? есть у меня какой-то свисток им я шил один раз по SWD, но уже не помню даже из какой софтины, ибо в начале года было...
 

MikeK

Member
визуально я не вижу, а при измерении мультметром на 200 Ом не обнаружил соединений с чипом...
 

pvvx

Активный участник сообщества
визуально я не вижу, а при измерении мультметром на 200 Ом не обнаружил соединений с чипом...
А как они его программировали?
Надпись стерли плохо, да и фото ужасное:
Снимок1142.gif
У NL AT-команды все c AT+xxx.

Определитесь с типом SoC - у вас он и тестер есть. Гадать по фото нет смысла.
 
Последнее редактирование:

MikeK

Member
снимал на телефон, да и не фотограф я в принципе... вот ишо 2 снимка (правда форум еще сживает картинку, но там мало что видно)
 

Вложения

MikeK

Member
объясните плиз, как определиться? по внешнему виду действительно похоже на RTL...
мне нужно что - отпаять плату и через UART подключиться к нему, но тогда как выйти из режима прозрачного моста?
т.е. опишите метод как определить чип.
если это NL, то я смогу изменить настройки уарта:
UARTFT Set/Query UART auto-frame trigger time
UARTFL Set/Query UART auto-frame trigger length
 
Сверху Снизу