Страница 1 из 2

Передача данных UART-USB

Добавлено: Вс окт 30, 2022 14:12:09
maksimdag0
Всем привет! Господа, у меня уже каша в голове после гугла. Подскажите пожалуйста, есть преобразователь UART-USB для того что бы передавать данные от МК в компьютер. Вопрос в следующем как usb подключить к ПК, нужны драйвера спеуиальные? Как принимать данные через USB? Как использоватьэти данные в компьютере? Обьсните пожалуйста я не вижу картину в целом.

Re: Передача данных UART-USB

Добавлено: Вс окт 30, 2022 14:55:27
electroget
=Вопрос в следующем как usb подключить к ПК, нужны драйвера спеуиальные?

Да, операционная система работает с usb-устройствами через драйверы.

=Как использоватьэти данные в компьютере?

Для этого нужна прикладная программа которая работает с этим USB устройством.

Re: Передача данных UART-USB

Добавлено: Вс окт 30, 2022 14:57:47
Martian
Необходимо научиться программировать на каком-либо языке под ту операционную систему, которая стоит на компьютере, и написать программу, принимающую и обрабатывающую данные. Либо озвучить задачу более конкретно.

Re: Передача данных UART-USB

Добавлено: Вс окт 30, 2022 15:09:20
Alex_641
Писал когда то давно на визуал бейсике , чё бы управлять с компа бвумя каналами МК. В инете можно чё нить наяденсить.

Re: Передача данных UART-USB

Добавлено: Вс окт 30, 2022 15:23:52
Asmodey
Нужны будут драйверы к чипу на котором построен преобразователь USB <-> UART.
[uquote="maksimdag0",url="/forum/viewtopic.php?p=4312184#p4312184"]Как использоватьэти данные в компьютере?[/uquote]
Для начала воспользуйтесь программой-терминалом. Сможете хотя бы посмотреть что МК отсылает в компьютер и отправлять набитые с клавиатуры данные в МК.

Re: Передача данных UART-USB

Добавлено: Вс окт 30, 2022 16:46:12
OKF
[uquote="Asmodey",url="/forum/viewtopic.php?p=4312211#p4312211"]Для начала воспользуйтесь программой-терминалом.[/uquote]
Программой эмулирующей терминал. При этом, в эмуляторе терминала нужно выбрать виртуальный COM-порт, который будет создан драйвером USB-UART. Поправляю.)

Re: Передача данных UART-USB

Добавлено: Вс окт 30, 2022 20:01:39
musor
если уж дополнять то надо сказать софт PuTTY для этого
пытатся ловить чео в хипертерминале от била это сада мазо

Re: Передача данных UART-USB

Добавлено: Пн окт 31, 2022 19:35:04
maksimdag0
Добрый вечер. Спасибо за ответы! Возникает основной вопрос, как это будет конвертироваться на usb? То есть какие сигналы будут на usb, там како-то свой протокол? Или подскажите что именно мне изучить что бы это понять?

Re: Передача данных UART-USB

Добавлено: Пн окт 31, 2022 19:41:32
electroget
[uquote="maksimdag0",url="/forum/viewtopic.php?p=4312731#p4312731"]Возникает основной вопрос, как это будет конвертироваться на usb? То есть какие сигналы будут на usb, там како-то свой протокол?[/uquote]
Это специальная микросхема делает. Аппаратно. К счастью, как именно она это делает, изучать нет необходимости. Просто устанавливаете драйвер чипа USB->UART конвертера и всё работает.

Re: Передача данных UART-USB

Добавлено: Пн окт 31, 2022 19:53:45
VladislavS
[uquote="maksimdag0",url="/forum/viewtopic.php?p=4312731#p4312731"]Или подскажите что именно мне изучить что бы это понять?[/uquote]Есть дебильная статья USB in a NutShell. В ней хоть что-то можно понять. А есть официальная документация. Но там можно не выплыть.

Re: Передача данных UART-USB

Добавлено: Пн окт 31, 2022 19:58:51
Asmodey
[uquote="maksimdag0",url="/forum/viewtopic.php?p=4312731#p4312731"]Добрый вечер. Спасибо за ответы! Возникает основной вопрос, как это будет конвертироваться на usb? То есть какие сигналы будут на usb, там како-то свой протокол? Или подскажите что именно мне изучить что бы это понять?[/uquote]
"Глубоко копаешь, Толик. Огонька начитался?" (С)

Re: Передача данных UART-USB

Добавлено: Пн окт 31, 2022 20:13:29
Martian
[uquote="maksimdag0",url="/forum/viewtopic.php?p=4312731#p4312731"]Или подскажите что именно мне изучить что бы это понять?[/uquote]
У Microchip есть USB-famework для PIC18, он с исходниками и примерами. На usb.org есть спецификация на USB. Чтобы это всё полностью изучить и понять, для создания собственный вариант фреймворка для PIC18F14K50, мне понадобилось целое лето, то есть, 3 месяца. Пока ни разу не пригодилось...

Добавлено after 2 minutes 22 seconds:
А вообще, работать надо с USB-HID - не требуется драйверов. Если, конечно, скорость передачи данных устраивает.

Re: Передача данных UART-USB

Добавлено: Пн окт 31, 2022 20:14:44
maksimdag0
Да мне хотя бы для общего представления знать

Re: Передача данных UART-USB

Добавлено: Вт ноя 01, 2022 06:58:49
electroget
maksimdag0,
Для общего представления о USB и UART достаточно прочитать статьи в Википедии.

Re: Передача данных UART-USB

Добавлено: Вт ноя 01, 2022 07:14:58
VladislavS
[uquote="Martian",url="/forum/viewtopic.php?p=4312757#p4312757"]А вообще, работать надо с USB-HID - не требуется драйверов.[/uquote]Во-первых, ТС пишет о переходнике USB-UART, а это ни разу не HID. Во-вторых, драйвер нужен даже для HID. То что он встроен в операционную систему лишь упрощает жизнь. Тот же виртуальный последовательный порт в современных ОС тоже встроен.

Re: Передача данных UART-USB

Добавлено: Вт ноя 01, 2022 09:23:58
Eddy_Em
Вот, кстати, забавно слышать бред, будто бы с HID работать проще. Ну-ну!
Что я делаю, если хочу поработать с CDC? Просто пишу "echo труляля > /dev/ttyUSB0" или "cat /dev/ttyUSB0". У меня куча железа работает просто на баш-скриптах! И простейшая веб-морда на основе баш-скрипта (nc открывает сокет, а скрипт читает, что там клиент написал; NGINX используется лишь для выдачи веб-морды, но можно и это баш-скриптом забульбенить, если на безопасном порту)…
А что делать с HID? Писать сишный файл с libusb? И в итоге вместо десятка строк будет минимум две страницы кода! И это называется "проще"???

Вот, например, пара скриптиков. Выключение аппаратуры на телескопе:

Код: Выделить всё

#!/bin/bash
COMDEV=/dev/ttyUSB0
stty -F $COMDEV -hupcl -opost -onlcr -isig -iexten -echo -echoe -echok -echoctl -echoke -icanon min 0 time 5
echo "Turn OFF devices"
echo ":Z#" > $COMDEV
cat $COMDEV
Включение или выключение монтировки (там идет эмуляция нажатия кнопки):

Код: Выделить всё

#!/bin/bash
COMDEV=/dev/ttyUSB0
stty -F $COMDEV -hupcl -opost -onlcr -isig -iexten -echo -echoe -echok -echoctl -echoke -icanon min 0 time 5
echo "Turn ON/OFF mount"
echo ":o#" > $COMDEV
cat $COMDEV
sleep 1
echo ":O#" > $COMDEV
cat $COMDEV
(забавно: движок форума не позволяет писать слитно echo e, echo k, echo ctl и т.п., заменяя все на echo)

И да, напомню, что HID быстрей 64000 бит/с работать не может. А у CDC теоретический предел - 12 Мбит/с (правда, фактически эта скорость из-за накладных расходов недостижима; скажем, STM32F042C6T6 мне выдал максимум 5.2 Мбит/с, надо будет с другими тест провести: подозреваю, что F303 таки сможет к 12Мбит/с добраться).

Re: Передача данных UART-USB

Добавлено: Вт ноя 01, 2022 09:36:29
VladislavS
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4312960#p4312960"]STM32F042C6T6 мне выдал максимум 5.2 Мбит/с[/uquote]Используй режим Double-buffered и будет тебе счастье.

Re: Передача данных UART-USB

Добавлено: Вт ноя 01, 2022 09:48:06
Eddy_Em
VladislavS, да у меня пока нет нужды так сильно разгонять. Вот если соберусь к ПЗС свой собственный обвес делать… Но там и USB3.0 понадобится, уж больно долго 32-64МБ данных считывать через 12Мбит/с…

Re: Передача данных UART-USB

Добавлено: Вт ноя 01, 2022 10:02:08
VladislavS
Ну просто 5,2 это далеко не максимум для F042, а просто ты его не умеешь готовить.

Re: Передача данных UART-USB

Добавлено: Вт ноя 01, 2022 13:10:06
Martian
Eddy_Em, не все любят линукс, консоли-терминалы и прочее, может пора это осознать? Не всем нужно 12 Мб/с, да я и упомянул это ограничение, не заметили? Будет нужна скорость - можно и напрямую, с собственным драйвером и т. д. Моргнуть светодиодиком, крутнуть двигателем или усб-осциллограф запустить - что там ТС хочет, неизвестно. Скриптами или нормальным приложением с ГУИ - тоже.

VladislavS, HID не требует драйверов. Даже если под этим скрывается то, что они встроены в ОС. Иначе тогда давайте говорить, что всё что-то требует, и для запуска любой программы на компе нужно уйму всего, просто оно встроено в ОС, а так-то ого-го! А то, что ТС пишет об USB-UART, то если глянуть на всё, что пишет ТС, не видно, что ему прям обязательно UART нужен, может, его цель послать и принять один байт в час.