Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

Засунуть UART в 1 провод и согласовать уровни.

Вт мар 24, 2020 23:35:49

Всем привет.
Имеется датчик давления под управлением микрухи MLX90308. Микруха сия собирает показания с 4-х включенных мостом тензометрических датчиков, и отдает обработанное значение в виде аналогового сигнала. Так же есть пин для получения данных в цифре и калибровки/прошивки этой микрухи. Производитель микрухи предлагает бесплатный софт и свою отладочно-прошивочную плату (EVB90308) за 250 бакинских (дорого), которую ждать 8 недель (долго)
Судя по докам, там обычный UART, но с другими уровнями. Логический 0 = 0.3*Uвх, т.е. 1.5в, Логическая 1 = 0.7*Uвх, т.е. 3,5в. И всё это засунуто в единственный пин и на прием и на передачу.
Универ был давно, да и учился я плохо, подскажите пожалуйста пример схемы чтобы 1) свести tx и rx на одну ногу 2)согласовать уровни для чтения/записи сей микрухи доступными средствами. Например, FTDI.
Даташит микрухи:
https://www.melexis.com/-/media/files/d ... elexis.pdf

Спасибо заранее! Это датчик из блока АБС мотоцикла, замены нет, б/у запчастей нет, а новый блок стоит как сам мотоцикл.

Re: Засунуть UART в 1 провод и согласовать уровни.

Ср мар 25, 2020 10:32:38

Тупо ТХ на RX не прокатит, если только ТХ не с открытым коллектором.
Для начала скорость знать желательно. Определяется осциллографом, либо методом тыка, если известно что передаётся.

Re: Засунуть UART в 1 провод и согласовать уровни.

Ср мар 25, 2020 13:33:32

Там хоть обычная rs232->ttl, хоть FTDIили еще чего...
Найти микросхему с открытым коллектором (если без инверсии по одному элементу на канал, если с инверсией - по два).
Примерно вот такое (если без инверсии)
Изображение
:roll:

Re: Засунуть UART в 1 провод и согласовать уровни.

Ср мар 25, 2020 13:48:58

Проще программно на обычном пине. В любом случае скорость желательно знать. При беглом просмотре описания этого не видно.

Re: Засунуть UART в 1 провод и согласовать уровни.

Ср мар 25, 2020 14:15:59

https://docs.rs-online.com/a5e3/0900766b80db73f0.pdf - документ содержит схему адаптера от производителя, заявлена совместимость с Вашей микросхемой. Принцип именно такой, как выше уважаемые товарищи описывали: rx и tx (точнее, tx на двух сторонах) «тянут» некий средний потенциал на линии один вверх, второй вниз. По-другому, наверное, full-duplex на одном проводе не реализовать.
А как Вам доступ в память микросхемы поможет в ремонте этого «незаменимого» блока ABS?

Re: Засунуть UART в 1 провод и согласовать уровни.

Ср мар 25, 2020 14:25:19

Всем спасибо за ответы!
Подключение к микрухе дает возможность внести поправки в коэффициенты усиления и смещения, чтобы то, что она отдает, укладывалось в диапазон значений, принимаемый мозгами блока. Сейчас датчик работает, но нулевое положение у него на 300mV выше, чем нужно, из-за чего блок выпадает в ошибку и отключает контур, давление в котором этот датчик измеряет. Да, производитель сделал блок абс, при смерти которого отказывают тормоза...

Скорость обмена данными 2400бод, у микрухи есть турбо режим, тогда она общается на 9600. Стоит он или нет, я не могу сказать, микруха молчит, пока в нее не пульнуться данными.
В блоке АБС ее пин вообще закорочен на массу.

Re: Засунуть UART в 1 провод и согласовать уровни.

Ср мар 25, 2020 14:43:04

Так там, наверное, один из тензодатчиков накрылся. Смысл ковырять внутренности микрухи? Если цель запустить моцык без абс-а, можно, наверное, сэмулировать аналоговый сигнал с этой микросхемы, не? Один делитель, и всех дел ;) Один фик все мотоциклисты - самоубийцы.

Re: Засунуть UART в 1 провод и согласовать уровни.

Ср мар 25, 2020 16:14:28

Про "все мотоциклисты" оффтоп) Цель - ездить с АБСом

Датчик работает, и рисует замечательную кривую на экране осциллографа, если на него давить, но вне диапазона.
У Melexis есть софтина для калибровки/перекалибровки этих датчиков (нашёл). Если получится подключиться и прочитать ее, затем сделать какой-то стенд, на чтобы давить на датчик с заданной силой, почитать значения, отдаваемые исправным датчиком, посчитать поправку для пациента, всё может взлететь.

Re: Засунуть UART в 1 провод и согласовать уровни.

Ср мар 25, 2020 20:10:59

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

Re: Засунуть UART в 1 провод и согласовать уровни.

Сб мар 28, 2020 11:08:38

Благодарю премного! с 4007 засада небольшая, а макетку уже собрал)

Re: Засунуть UART в 1 провод и согласовать уровни.

Сб мар 28, 2020 15:40:24

Добрый день. Уровни UART там стандартные 0 и 5 вольт, просто вы посмотрели максимальные отклонения для входных уровней. Так что можете использовать любой COM-UART адаптер.
По симптомам - наверняка что-то случилось с самим сенсором. К сожалению, прогноз это поправить неутешительный. Сама микросхема окончательно калибруется в составе датчика на стенде. При неисправном датчике скорее всего у вас не хватит диапазона регулировки. Да и надёжность его будет около нуля.
Поищите датчик на разборках. Может вам повезёт.

Re: Засунуть UART в 1 провод и согласовать уровни.

Сб мар 28, 2020 16:01:14

А, разве UART засунутый в один провод- это не K-line?
Изображение
http://avtosxema.com/shema/321-samyy-pr ... torah.html

Re: Засунуть UART в 1 провод и согласовать уровни.

Вс мар 29, 2020 11:12:08

Это близко, только в K-line уровни 0-12В, а в двухстороннем UART 0-5В.

Re: Засунуть UART в 1 провод и согласовать уровни.

Вс мар 29, 2020 22:32:27

Благодарю премного! с 4007 засада небольшая, а макетку уже собрал)
CD4007 не продают? Можно нашу К176ЛП1 использовать. Можно на 6-ти полевых транзисторах собрать самому её :)

Re: Засунуть UART в 1 провод и согласовать уровни.

Пн июл 05, 2021 15:30:00

Привет. Получилось связаться с процессором?
Я собрал плату по схеме на МАХ232 и ЛП1, нет связи. Вижу, что импульсы идут, на экране осциллографа и логическим анализатором. Софтина опрашивает, а ответа нет.

Re: Засунуть UART в 1 провод и согласовать уровни.

Пн июл 26, 2021 10:02:58

Родная софтина с процессором не связывается, однако через терминал можно ему скормить некоторые символы, и он отвечает потоком данных шестнадцатиричными числами в формате ASCII.

Re: Засунуть UART в 1 провод и согласовать уровни.

Пн июл 26, 2021 12:43:12

Привет КотаФеям.

Для связи между контроллерами давно использую вот эту схемку.
Вложения
OneWireSerial.JPG
(30.83 KiB) Скачиваний: 171

Re: Засунуть UART в 1 провод и согласовать уровни.

Пн июл 26, 2021 13:04:20

UART в STM32 имеет однопроводный режим работы, выход с открытым стоком, толерантным к 5В.

Re: Засунуть UART в 1 провод и согласовать уровни.

Пн июл 26, 2021 13:33:27

Да проблем связаться и передавать данные нет. Есть связь и можно через терминал передавать и принимать данные.
Проблема в интерпретации данных.
Вот тут ( https://forum.hexcode.co.za/forum/index ... l#msg11664 ) у чувака то же самое.
Ответить