Easyelectronics.ru

Электроника для всех
Текущее время: 22 авг 2019, 08:16

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



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: UART на высоких скоростях
СообщениеДобавлено: 14 июл 2019, 20:03 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 301
Возникла потребность иметь обмен с ПК на высокой скорости 300 килобайт в секунду хотя-бы в сторону ПК. Возникает много вопросов. Например, скорость микросхем USB-UART и скорость UART контроллера не пересекаются в области высоких циферок? Стандартный драйвер UART порта на ПК и ПО для обмена по одному байту слишком часто дергают события Windows и перегружают систему. Как быть? Есть ли для USB-UART кокой другой компонент для Борланд Си, например, чтобы интерфейс работал в пакетном режиме раскрывая весь потенциал USB-UART конвертора. Вообщем, как со скоростным обменом быть? Ведь PL2303 может 12 000 000 скорость обеспечить исходя из настройки под Win7 ее драйвера??


Последний раз редактировалось AstraHard 14 июл 2019, 20:59, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 14 июл 2019, 20:14 
Заглядывает иногда

Зарегистрирован: 02 май 2017, 18:54
Сообщения: 173
12 мбит - не пробовал. 1 мбит - проблем нет. Бормонд не использую, M$VC, "пакетный" режим. Библиотеку писал сам.
И да, на многих STM32 есть USB. Можно использовать как Virtual COM-Port. Тогда не нужно свистка USB-UART.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 14 июл 2019, 20:29 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 301
Никто не встречал компонент для Борланд СИ, что-то типа визарда, чтобы облегчить себе вхождение в программирование USB устройств типа PL2303 или cy68013a ???


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 14 июл 2019, 20:31 
Старожил

Зарегистрирован: 23 янв 2016, 15:37
Сообщения: 988
AstraHard писал(а):
Ведь PL2303 может 12 000 000 скорость обеспечить исходя из настройки под Win7 ее драйвера??

Там кварц на 12MHz, а максимальная скорость в 10 раз меньше.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 14 июл 2019, 20:33 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 301
leocat3 писал(а):
12 мбит - не пробовал. 1 мбит - проблем нет. Бормонд не использую, M$VC, "пакетный" режим. Библиотеку писал сам.
И да, на многих STM32 есть USB. Можно использовать как Virtual COM-Port. Тогда не нужно свистка USB-UART.

Я не очень понимаю, вернее не вникал как работает Virtual COM-Port, но могу сказать что писал под Борланд 6 и, при скорости больше 38400 этот компонент Virtual COM-Port перегружает событийную систему Винды, что приводит к потере данных. А не поделитесь самописным кодом для MSVC?

P.S. Что касается "на многих STM32 есть USB" Ну, скажем так, хочется запрограммировать PL2303 самостоятельно под Борланд С, с чего начать? (потому как не на всех STM32 есть USB, а на TMS32F28xx USB точно нет)


Последний раз редактировалось AstraHard 14 июл 2019, 20:47, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 14 июл 2019, 20:36 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 301
Reflector писал(а):
AstraHard писал(а):
Ведь PL2303 может 12 000 000 скорость обеспечить исходя из настройки под Win7 ее драйвера??

Там кварц на 12MHz, а максимальная скорость в 10 раз меньше.

В драйвере указана скорость 12 000 000 и, я смотрел осциллографом TX-RX при их соединении вместе эта скорость правда!!!! Кстати, внутри PL2303 эти 12 МГц умножаются до 48 МГц вот и весь секрет!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 14 июл 2019, 20:42 
Старожил

Зарегистрирован: 23 янв 2016, 15:37
Сообщения: 988
AstraHard писал(а):
В драйвере указана скорость 12 000 000 и, я смотрел осциллографом TX-RX при их соединении вместе эта скорость правда!!!! Кстати, внутри PL2303 эти 12 МГц умножаются до 48 МГц вот и весь секрет!

Значит это PL2303HX.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 14 июл 2019, 20:48 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 301
Reflector писал(а):
AstraHard писал(а):
В драйвере указана скорость 12 000 000 и, я смотрел осциллографом TX-RX при их соединении вместе эта скорость правда!!!! Кстати, внутри PL2303 эти 12 МГц умножаются до 48 МГц вот и весь секрет!

Значит это PL2303HX.

Да PL2303HX, я просто не знаком с другими, извините...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 14 июл 2019, 20:57 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 301
Есть у меня задача для TMS32F28016 вывести на ПК результаты оцифровки АЦП со скоростью ШИМ (60 килогерц по 4 байта, всего то добавить в обработчик прерывания четыре строчки "записать в UART") есть в TMS32F28016 UART с FIFO на 16 байт, но нет USB, поэтому выбор пал на PL2303HX. Осталось научиться писать компонент для работы с PL2303HX под 6 Борланд, не пинайте пожалуйста за старье...

P.S. Я даже приготовился заменить кварц на микроконтроллере, чтобы согласовать скорости UART контроллера и PL2303HX.


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

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 301
Вообщем, задача в том, кто осветит путь, как научится работать с регистрами PL2303HX и подобными USB донглами (cy68013a например) из Борланд Си к примеру? Типа последовательности изучения вопроса? Типа как написать свое подобие, к примеру, USBee/Salea Logic?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 15 июл 2019, 00:06 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1000
AstraHard писал(а):
Вообщем, задача в том, кто осветит путь, как научится работать с регистрами PL2303HX и подобными USB донглами (cy68013a например) из Борланд Си к примеру? Типа последовательности изучения вопроса? Типа как написать свое подобие, к примеру, USBee/Salea Logic?

По CY7C68013A есть в интернете статьи
Код:
Дмитрий Чекунов. Программисту USB-устройств. Часть 1. Знакомство с USB//Современная Электроника, 2004 №1
Программисту USB-устройств. Часть 2. Стандартные требования USB//Современная Электроника, 2004 №2
Программисту USB-устройств. Часть 3. Стандартные дескрипторы USB//Современная Электроника, 2005 №1
Дмитрий Чекунов. Практикум программиста USB-устройств Часть 1. EZ-USB FX2LP – универсальное USB-решение//Современная Электроника, 2005 №4
Практикум программиста USB-устройств. Часть 2. Разработка аппаратно-программного ядра USB-устройства//Современная Электроника, 2005 №5-6
Практикум программиста USB-устройств. Часть 3. Расширение функций ядра USB-устройства //Современная Электроника, 2006 №1-2
Практикум программиста USB-устройств. Часть 4. Разработка программатора MK P89LPC9xx//Современная Электроника, 2006 №6-8

статьи в архивном файле

Ещё какие то обсуждения были на форуме https://electronix.ru/forum/

P.S. Есть ещё некоторые проекты на данном контроллере найденные в i-net


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 16 июл 2019, 11:24 
Заглядывает иногда

Зарегистрирован: 08 июл 2013, 17:00
Сообщения: 172
AstraHard писал(а):
leocat3 писал(а):
писал под Борланд 6 и, при скорости больше 38400 этот компонент Virtual COM-Port перегружает событийную систему Винды, что приводит к потере данных.


Да ну! Писал на WIN API драйвер ком-порта. 115200 без проблем. Для 300Кбайт/с я бы использовал Ethernet или освоил бы Ethernet через USB.
Гоняли в своё время PL2303 на 921кбит/с, проблем не видели. Если не ошибаюсь, он до 2Мбит/с.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 16 июл 2019, 11:42 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 301
tonyk писал(а):
AstraHard писал(а):
leocat3 писал(а):
писал под Борланд 6 и, при скорости больше 38400 этот компонент Virtual COM-Port перегружает событийную систему Винды, что приводит к потере данных.


Да ну! Писал на WIN API драйвер ком-порта. 115200 без проблем. Для 300Кбайт/с я бы использовал Ethernet или освоил бы Ethernet через USB.
Гоняли в своё время PL2303 на 921кбит/с, проблем не видели. Если не ошибаюсь, он до 2Мбит/с.

Не хочу я никакой Ethernet, 115200 осилил на виртуальном СОМ, пришлось в драйвере поиграться таймаутом (поставил 2 мсек) наверное, можно и больше, винда не очень напряглась, просто кварц для микроконтроллера подобрать. Кстати PL2303HX и FT232RL имеют разный набор скоростей, микроконтроллер свой набор скоростей, в этом главная неприятность, как-то так. А в остальном, ничего не мешает достигнуть 12 000 000 PL2303HX это с учетом того, что мой микроконтроллер имеет на UART-е FIFO на 16 байт.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 16 июл 2019, 11:47 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 301
У меня очень тривиальное желание, достичь максимальной скорости указанной в настройках драйвера винды для PL2303HX, а там указано 12 000 000! Только скорость нужна не для одного байта (это тривиально поменял кварц и вперед), а для непрерывного потока в этом тоже есть свои подводные камни, вот и спрашиваю.

Вы конечно спросите для чего, отвечаю Есть у меня задача вывести на ПК результат работы прерывания на контроллере со скоростью 60 килогерц по 4 байта, всего то добавить в обработчик прерывания четыре строчки "записать в UART") есть в TMS32F28016 UART с FIFO на 16 байт, но нет USB, поэтому выбор пал на PL2303HX.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 16 июл 2019, 12:56 
Заглядывает иногда

Зарегистрирован: 06 янв 2014, 17:52
Сообщения: 104
AstraHard писал(а):
достичь максимальной скорости указанной в настройках драйвера винды для PL2303HX, а там указано 12 000 000! Только скорость нужна не для одного байта

PL2303HX поддерживает максимум - USB Specification v2.0 (Full-Speed). Это 12мбит.
Реальный предел 900 кбайт, если все хорошо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 16 июл 2019, 13:20 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 3872
Откуда: КЧР, поселок Нижний Архыз
Переходник то ли на ch340, то ли на pl2303 я гонял на трех мегабодах, когда USB отлаживал и нужно было диагностику при помощи DMA отправлять настолько шустро, чтобы не мешать работе USB.
Вполне справлялся...
Вообще, можно как-нибудь эксперимента ради попробовать поставить 3Мбод на USART STM'ки. По идее, даже STM32F042 должна справится влегкую!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 16 июл 2019, 13:52 
Заглядывает иногда

Зарегистрирован: 08 июл 2013, 17:00
Сообщения: 172
Коллега упоминал как-то, что у него в приборе контроллеры общаются по УАРТ на 3Мбит/с. Что было точно, врать не буду, не помню, но точно СТМ32 и не старше F4.
Тут дело вот ещё в чём. На таких скоростях приёмопередатчики для RS485 начинают жрать сильно по питанию. Уже на 921кбит/с это ощутимо. И кабель нужен хороший, а то фронты сильно валятся. Впрочем, Profibus работает ведь хорошо, и скорость у него заявлена до 12Мбит/с.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 16 июл 2019, 14:03 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 2128
Utyf писал(а):
AstraHard писал(а):
достичь максимальной скорости указанной в настройках драйвера винды для PL2303HX, а там указано 12 000 000! Только скорость нужна не для одного байта

PL2303HX поддерживает максимум - USB Specification v2.0 (Full-Speed). Это 12мбит.
Реальный предел 900 кбайт, если все хорошо.

На сайте у них написано:
Full compliance with the USB Specification v1.1
Programmable baud rate from 75 bps to 6,000,000 bps

Т.е. USB 1.1, хотя это и не сильно важно. FS на 12Мбит/с. Но скорость виртуального COM порта как я понимаю 6Мбит/с. Это около 730 Кбайт/с реальной пропускной способоности.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 16 июл 2019, 14:29 
Старожил
Аватара пользователя

Зарегистрирован: 30 мар 2015, 23:56
Сообщения: 720
Это всё не имеет значения без оптической изоляции rx tx.

_________________
Потоковая OS


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 16 июл 2019, 17:24 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 301
NStorm писал(а):
Utyf писал(а):
AstraHard писал(а):
достичь максимальной скорости указанной в настройках драйвера винды для PL2303HX, а там указано 12 000 000! Только скорость нужна не для одного байта

PL2303HX поддерживает максимум - USB Specification v2.0 (Full-Speed). Это 12мбит.
Реальный предел 900 кбайт, если все хорошо.

На сайте у них написано:
Full compliance with the USB Specification v1.1
Programmable baud rate from 75 bps to 6,000,000 bps

Т.е. USB 1.1, хотя это и не сильно важно. FS на 12Мбит/с. Но скорость виртуального COM порта как я понимаю 6Мбит/с. Это около 730 Кбайт/с реальной пропускной способоности.

Я сам удивился, когда обновил драйвер было 6,000,000 bps стало 12,000,000 bps в самом свежем драйвере... Мне 300 килобайт в сек. бы, пока больше не надо. Придется кварц менять на TMS320F28016, чтобы скорости согласовать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 16 июл 2019, 18:53 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 301
AVI-crak писал(а):
Это всё не имеет значения без оптической изоляции rx tx.

А причем здесь оптическая изоляция? Ага, есть USB3 с гигантскими скоростями и без изоляции, а тут идет речь о хилых 12 мБод всего-то. Просто старое ПО не позволяет, а аппаратура шагнула вперед....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 16 июл 2019, 20:28 
Старожил
Аватара пользователя

Зарегистрирован: 30 мар 2015, 23:56
Сообщения: 720
AstraHard писал(а):
А причем здесь оптическая изоляция?.

Потому что без оптики хватает аппаратного usb на борту чипа, либо сухих контактов на краю платы для подключения внешнего usb-uart свистка.

_________________
Потоковая OS


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 16 июл 2019, 20:44 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 301
Оптика это хорошо, но тогда уже ТОСЛИНК по волокну, вообще идеально. Нужно срочно всем отказаться от UART в микроконтроллерах (пора) и, перейти на что-то похожее на Toslink, его кстати активно тролят по этой причине, слишком обогнал время.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 17 июл 2019, 01:49 
Старожил
Аватара пользователя

Зарегистрирован: 30 мар 2015, 23:56
Сообщения: 720
Да причём тут Toslink, разговор про цифровые оптические изоляторы.
Например ACSL-7210, или нечто подобное в этом направлении.

_________________
Потоковая OS


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: UART на высоких скоростях
СообщениеДобавлено: 17 июл 2019, 08:53 
Старожил

Зарегистрирован: 06 окт 2014, 20:14
Сообщения: 301
А мне нравиться Toslink, могу Вам тоже сказать, да причем здесь ACSL-7210, вот Toslink с пластиковым кабелем это круто понастоящему, кстати, по пластиковому оптокабелю замечательно ходит стандартный UART за примерами ходить далеко не надо https://habr.com/ru/post/423027/ Только не подумайте что я отрицаю ACSL-7210, просто Toslink подобные решения дают феноменальную изоляцию хоть мегавольты и, совершеннейшее отсутствие меди. Кстати, Toslink активно юзается в станках ЧПУ Японских...

P.S. Да, кстати, 3,5 КВ ACSL-7210 это откровенно мало, например для медицинских применений нужно 6КВ, что прямо указано.


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

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


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

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


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

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

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