Easyelectronics.ru

Электроника для всех
Текущее время: 24 сен 2020, 08:00

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 38 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 20 ноя 2019, 23:21 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 827
Во всех USB-UART преобразователях используется кварц на 12 мегагерц. Выходит и скорость ровно 1 Мегабит должна быть доступна и, напротив, скорость 921600 непонятно как как получить из 12 МГц?. Слышал, что в реестре Windows драйверу можно указать нестандартную скорость. Может кто объяснит подробности? Например ATMEGA с кварцем 16 Мгц прекрасно позволяет установить скорость UART 1 Мбит делитель на 16 или 2 Мбит с удвоенной скоростью но, как принять поток на ПК? Мне нужно для отправки пары байт из прерывания вызываемого с частотой 40 Килогерц. Кстати, видел 2 разных драйвера для PL2303HX в одном список скоростей был до 6 Мбит и, я проверил осциллографом, что PL2303HX на самом деле передает и принимает на скорости 6 Мегабит, а после обновления опять только 128 000 максимум, мне лень писать что-то свое для общения с СОМ использовал компонент визуальный для Борланд С++ 6.0. Может есть иной компонент потому как в моем нестандартные скорости не принимаются к сожалению.

P.S. Может поставить старый драйвер, но вот незадача, в визуальном компоненте Борланд С++ нет возможности выбрать скорость 6 Мегабит. Подскажите путь решения. Оптимально было-бы общаться с ATMEGA на скорости 2 Мбит, так как она просто устанавливается в Меге и, присутствует в списке драйвера PL2303HX старого драйвера 2008 года. Высокая скорость 2 и 6 Мбит для PL2303HX была мной протестированна из терминальной программы осциллографом посмотрел тайминги на PL2303HX (TTL) и терминал принимал эхо правильно. Выходит все должно срастись. Только компонент для Borland C++ 6 бы кто помог найти с полным списком скоростей. Писать обращаясь к, как ее DCB лениво. Или может кто исходник подкинет с программированием СОМ в Борланде через DCB. А то заколебался я ограничивать себя скорость 56 000 максимум что сумел согласовать между Мегой и приложением на Борланде С++. Памагите кто може, кто может памагите очень нужно для продолжения экспериментов с полностью цифровым ШИМ для управления преобразователем. Нужно из процессора на комп получить осциллограмму, для этого отправлять пару байт непрерывным потоком со скоростью прерывания 40 Килогерц.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 21 ноя 2019, 00:16 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2868
Borland C++ Builder 6?! Компоненты... Календарь переверни, 2020 год скоро, уже почти 18 лет прошло с выпуска этого продукта. Снова штырит что-ли?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 21 ноя 2019, 00:19 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 827
А че не так (можно подумать что АТМЕГА моложе однако не сгонишь, оседлали), ну и CodeComposer у меня Platinum 2006 года. Да я старый. А что С++ не актуален и DCB в Винде отменили?

P.S. Вообще, я больше философ (наиболее общие вопросы познания) и математик чем программист и кодер, поэтому и задаю вопросы. Зато я также упростил выражение векторного регулирования для обобщенного электродвигателя, опозорив авторов векторного регулирования немцев, до меня считалось что упростить выражение НЕВОЗМОЖНО!!!!! Кстати этим я раскрыл тайный секрет фирмы Ti, Возможно? хотя я не уверен, может я их опередил????


Последний раз редактировалось AstraHard 21 ноя 2019, 00:23, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 21 ноя 2019, 00:22 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2868
Не актуален борман иде от 2002 года со своими компонентами и прочей херью.
Возьми современную IDE, и напиши. Тот же Qt Creator. Плюсом - приложение можно кросс-платформенным сделать.
QSerialPort->setBaudRate(2000000); и всё делов.


Последний раз редактировалось NStorm 21 ноя 2019, 00:27, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 21 ноя 2019, 00:23 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 827
Ок. осваивать надо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 21 ноя 2019, 01:24 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5883
Ты не философ, ты с диагнозом авр...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 21 ноя 2019, 01:51 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 827
Уже нет, я портировал код на TMS320F28016 заодно сделав рефакторинг. А вот что не научился пока доверять HAL, но все еще впереди. Кроме того, почитав на хабре, что получилось без оптимизации библиотек при чтении microSD: жалкие 50 Кбайт в секунду на блю пил по Full Speed USB. И, только после самостоятельной прокачки ,библиотеки автор достиг 600 Килабайт в секунду (причем на исходной библиотеке автор получил загрузку процессора 100% после "прокачки" 3%). И, я сделал вывод..., что "фирменные" библиотеки это как даташит. Для практики не годиться. Что касается с диагнозом авр... это как посмотреть. Иногда, полезно сделать что-то на более простой машине прежде чем переходить к более сложной. Выжав все из АВР я выжму все из TMS320 и dSPIC33EP, а иначе, можно впасть в "маразм" сторонних библиотек, и бесконечное брюзжание, что ничего не работает как рассчитывал...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 21 ноя 2019, 18:27 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 827
Плохо, все плохо. Не нашел сквозного описания прохождения данных по пути, как я себе представляю, TTL сигнал > буфер микросхемы USB-UART 384 или 256 байт > собственно конечные точки USB со скоростью 12 мегабит и темпом 1000 опросов в сек > прерывание USB > файл ОС. Как Вы думаете? правильно представил себе путь данных? И еще, если в микросхеме USB-UART буфер на прием 256 байт, то скорость будет 256*1000(темп USB HOST)=256 Kb/Sec? это если без потерь?

P.S. Кстати, если, как говорят, бестолку смотреть на список скоростей в Windows интерфейсе драйвера. То, может существует утилита которая его прочешет на предмет того, что драйвер может запрограммировать в USB-UART микросхему. Тут не так все однозначно, так как я встречал утверждение, что драйвер хранит этот список в реестре Windows в виде соответствия скорость-число делитель для USB-UART (для PL2303HX встречал такое утверждение) микросхемы. Короче мутно как-то. Хочу все знать...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 21 ноя 2019, 18:57 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 827
Вот еще вопрос Зачем вообще городить дополнительный тормозной буфер, если можно просто взять микроконтроллер с аппаратным USB, поднять на нем CDC ACM и гонять хоть 4 мегабита?

Затем, что часть работы уже сделана, и это самое дешевое решение. Мне нужно именно 2 мегабита, вернее 80 килобайт в секунду без потерь. Кроме того, в этом случае, дешевле выполнить гальваническую изоляцию, чем на USB. Вообще, я планирую освоить передачу данных Манчестерским кодом через пластиковое оптоволокно как Toslink S/PDIF там как раз Манчестер бегает. Изоляция будет Мегавольты. Для ЧПУ и Энергетики сгодиться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 21 ноя 2019, 19:00 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 827
Должно-же быть недорогое решение для скоростей порядка 2 Мегабит как Toslink S/PDIF к примеру. Эта ниша не заполнена примерами решений. USB интерфейс на очень короткие дистанции с ужасно плохой помехоустойчивостью и без изоляции. Есть еще Ethernet, но опять-же это значительно дороже. Теперь надеюсь все понятно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 21 ноя 2019, 19:17 
Старожил
Аватара пользователя

Зарегистрирован: 13 янв 2018, 21:36
Сообщения: 1550
NStorm писал(а):
QSerialPort->setBaudRate(2000000); и всё делов.
И 17Мб со статической линковкой или под 30Мб либ с динамической? :) А кроссплатформенность да, прикольно.

AstraHard, уж не знаю что у тебя за компонент, но в мою молодость был CPort, у которого из коробки
Код:
ComPort->CustomBaudRate=UART_SPEED;
Но блин. Графический интерфейс на современных win из под 6-го билдера никакой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 21 ноя 2019, 19:24 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2868
VladislavS, ну я как один из вариантов предложил. Альтернатив современных полно. Если кому-то сейчас размер бинарника для ПК имеет значение...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 21 ноя 2019, 19:31 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 827
Спасибо большое у меня, наверное, просто ужасный компонент или я им не научился пользоваться. Называется CportLib не знаю как пользоваться brCustom, Спасибо за подсказку я просто зациклился что CportLib не предоставляет список всех возможных скоростей. Но постепенно понимание приходит как быть. Еще раз благодарю за помощь. Напишу ка я, для начала, утилиту определения возможностей установки нестандартных скоростей для USB-UART.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 21 ноя 2019, 19:32 
Старожил
Аватара пользователя

Зарегистрирован: 13 янв 2018, 21:36
Сообщения: 1550
Да не, это я так, поворчать. Просто когда вижу "ничегонеделающую" прогу в десятки Мб возникает мысль "где-то меня нае...".

AstraHard писал(а):
не знаю как пользоваться brCustom,
Ну вот как я написал и пользоваться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 21 ноя 2019, 21:34 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 827
Все заработало. Оказывается драйвер поддерживает 2 Мбит. Проверил сейчас осциллографом. PL2303HX работает на скорости 2 Мегабит, вижу импульсы по 400 наносекунд и это из приложения на С++ билдере. Ура работает!!!

P.S. ComPort->CustomBaudRate=2000000; Все заработало. Оказывается драйвер поддерживает 2 Мбит. Атмега справляется тоже. Время передачи одного байта 8 микросекунды на 2000 000. А время прерывания 31 микросекунда, мне нужно 16 микросекунд чтобы передать два байта с частотой 31 Килогерц и они нашлись.


Последний раз редактировалось AstraHard 21 ноя 2019, 22:58, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 21 ноя 2019, 22:07 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 827
Кстати, с такой задачей справляется только Prolific Pl2303HX. CP2102, FT232R и CH340 не тянут 4 Мбит!!!! Ат Мега работает портом в Synchronous Master Mode тоже на 4 Мегабит с кварцем 16 мегагерц. Все срослось как нельзя лучше.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 21 ноя 2019, 22:14 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2868
FT2232H до 12 Мбит умеет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 21 ноя 2019, 22:29 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 827
Prolific Pl2303HX самая дешевая Китайская со старым драйвером 2008 года. Все равно 6 мбит умеет, кажеться она и 12 Мбит тянет. Надо проверить. Кроме того, как я понял, непрерывный поток зависит от величины буфера в и вряд-ли больше 6 Мбит потянет. Для Меги предел 2 Мбит. Вот на TMS320F28016 завтра обкатаю скорость 12 Мегабит и 6 Мегабит. Где непрерывный поток получиться там и остановлюсь. Это мне для осциллографирования работы цифрового ШИМ нужно. 6 Мегабит/16 это 375 Килобайт/секунда, а мне нужно 4*2*20000= 160 Килобайт в секунду. Это 4 канала АЦП по 2 байта и на частоте 20 Килогерц.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 21 ноя 2019, 23:53 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 1946
AstraHard, а как ты собираешься принимать этот непрерывный поток в своём bc++ ?

_________________
mcu.goodboard.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 21 ноя 2019, 23:55 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2868
AstraHard писал(а):
Все равно 6 мбит умеет, кажеться она и 12 Мбит тянет. Надо проверить.

По описания, есть PL-2303HX - она максимум 6: http://www.prolific.com.tw/US/ShowProdu ... =8&pcid=41
Есть PL-2303HXD, она уже 12 умеет: http://www.prolific.com.tw/UserFiles/fi ... v1_4_4.pdf


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 22 ноя 2019, 08:37 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 827
vt340 писал(а):
AstraHard, а как ты собираешься принимать этот непрерывный поток в своём bc++ ?

В файл естественно, все от винды и ее драйверов зависит, справиться или нет с неразрывностью. Мне нужно, как я уже говорил, получить осциллограмму работы цифрового ШИМ от него самого. Дело в том, что смотреть цифровым осциллографом и получать осциллограмму от самого цифрового ШИМ контроллера немного разные вещи. В случае самоосциллографирования можно получить неразрывную осциллограмму практически неограниченной длительности в файл на предмет анализа сбоев в работе преобразователя мощности.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 23 ноя 2019, 18:56 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 827
За сколько тактов PCLOCK UART байт отправляет? за 10, 11 или за 16?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 23 ноя 2019, 22:10 
Старожил

Зарегистрирован: 08 июл 2013, 17:00
Сообщения: 688
Вариант передачи через параллельный порт не рассматривался?
Адаптер https://www.nix.ru/autocatalog/usb_cables/VCOM-VUS7052-Kabel-adapter-USB-LPT-C36M_143500.html#tab=goods_user_reviews
Режим EPP, 2ю5 Мбайт/с.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 23 ноя 2019, 22:15 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 827
Не рассматривал, мне нужна гальваническая изоляция. Да и Режим EPP, 2ю5 Мбайт/с. в этом кабеле нету. Так За сколько тактов PCLOCK UART байт отправляет? за 10, 11 или за 16?

Все заработало как надо ура! УРА!


Последний раз редактировалось AstraHard 24 ноя 2019, 06:02, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Принять данные на ПК со скоростью 2 Мбит
СообщениеДобавлено: 23 ноя 2019, 22:44 
Старожил

Зарегистрирован: 08 июл 2013, 17:00
Сообщения: 688
Цитата:
мне нужна гальваническая изоляция

А какая связь между интерфейсом и гальванической развязкой? Может, имелось ввиду, что громоздко?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 38 ]  На страницу 1, 2  След.


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB