Принять данные на ПК со скоростью 1 Мбит
Принять данные на ПК со скоростью 1 Мбит
Во всех 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 Килогерц.
P.S. Может поставить старый драйвер, но вот незадача, в визуальном компоненте Борланд С++ нет возможности выбрать скорость 6 Мегабит. Подскажите путь решения. Оптимально было-бы общаться с ATMEGA на скорости 2 Мбит, так как она просто устанавливается в Меге и, присутствует в списке драйвера PL2303HX старого драйвера 2008 года. Высокая скорость 2 и 6 Мбит для PL2303HX была мной протестированна из терминальной программы осциллографом посмотрел тайминги на PL2303HX (TTL) и терминал принимал эхо правильно. Выходит все должно срастись. Только компонент для Borland C++ 6 бы кто помог найти с полным списком скоростей. Писать обращаясь к, как ее DCB лениво. Или может кто исходник подкинет с программированием СОМ в Борланде через DCB. А то заколебался я ограничивать себя скорость 56 000 максимум что сумел согласовать между Мегой и приложением на Борланде С++. Памагите кто може, кто может памагите очень нужно для продолжения экспериментов с полностью цифровым ШИМ для управления преобразователем. Нужно из процессора на комп полуцить осциллограмму, для этого отправлять пару байт непрерывным потоком со скоростью прерывания 40 Килогерц.
"Every profession is a conspiracy against the uninitiated" (B. Shaw)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
- Реклама
Re: Принять данные на ПК со скоростью 1 Мбит
Подумайте о том хватит ли у меги производительности для работы с потоком 256 КБ/с и что мега кроме этого успеет сделать.astrahard писал(а):Оптимально было-бы общаться с ATMEGA на скорости 2 Мбит, так как она просто устанавливается в Меге
Re: Принять данные на ПК со скоростью 1 Мбит
Я же говорю, у меня МЕГА работает с прерыванием АЦП со скоростью 40 Килогерц. В прерывании есть еще запас 10 микросекунд, там нужно вставить отправку 2 байт. Итого все успевает, а принимать мне нужно только запросы ModBus со скоростью 100 в секунду, даже на скорости порта 56 000 все работает и еще остается 30 процентов свободного процессорного времени, которое я меряю в цикле Idle осциллографом. (Весь рабочий код у меня в обработчиках прерываний, в Майн() только инициализация и простой цикл Idle где я дергаю свободной ногой для осциллографа, чтобы свободное время видеть визуально)
P.S. Вообще, я Мегой больше заниматься не буду. На Меге тренировался чисто из спортивного интереса сделать цифровой ШИМ на процике на котором все говорили что это не реально, в результате предсказатели опозорены. Я также упростил выражение векторного регулирования для обобщенного электродвигателя, опозорив авторов векторного регулирования немцев, до меня считалось что упростить выражение НЕВОЗМОЖНО!!!!! Кстати этим я раскрыл тайный секрет фирмы Ti, Возможно? хотя я не уверен, может я их опередил????
Добавлено after 11 minutes 19 seconds:
Вообще, я больше философ (наиболее общие вопросы познания) и математик чем программист и кодер, поэтому и задаю вопросы.
P.S. Вообще, я Мегой больше заниматься не буду. На Меге тренировался чисто из спортивного интереса сделать цифровой ШИМ на процике на котором все говорили что это не реально, в результате предсказатели опозорены. Я также упростил выражение векторного регулирования для обобщенного электродвигателя, опозорив авторов векторного регулирования немцев, до меня считалось что упростить выражение НЕВОЗМОЖНО!!!!! Кстати этим я раскрыл тайный секрет фирмы Ti, Возможно? хотя я не уверен, может я их опередил????
Добавлено after 11 minutes 19 seconds:
Вообще, я больше философ (наиболее общие вопросы познания) и математик чем программист и кодер, поэтому и задаю вопросы.
"Every profession is a conspiracy against the uninitiated" (B. Shaw)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
Re: Принять данные на ПК со скоростью 1 Мбит
Тогда для чего пишите о передаче на скорости 2 Мбод? Чем выше скорость, тем большая производительность должна быть.astrahard писал(а):Я же говорю, у меня МЕГА работает с прерыванием АЦП со скоростью 40 Килогерц.
В смысле программный? Какая частота и разрядность получилась? Что мега кроме шима успевает сделать и как это сказывается на "дрожании" импульсов шима и на задержках выполнения других задач?astrahard писал(а):На Меге тренировался чисто из спортивного интереса сделать цифровой ШИМ на процике на котором все говорили что это не реально
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: Принять данные на ПК со скоростью 1 Мбит
В файле /usr/include/asm-generic/termbits.h есть параметр B1000000 → скорость в 1Мбит является вполне себе стандартной!
Другое дело, что все кончается B4000000, т.е. для скоростей выше 4Мбит нужно править модуль ядра и задавать свои параметры...
Другое дело, что все кончается B4000000, т.е. для скоростей выше 4Мбит нужно править модуль ядра и задавать свои параметры...
- Реклама
Re: Принять данные на ПК со скоростью 1 Мбит
Эдя расслабьтся. Из первого сообщения ясно следует что речь про винду.
Re: Принять данные на ПК со скоростью 1 Мбит
[uquote="Мурик",url="/forum/viewtopic.php?p=3740672#p3740672"]
Тогда для чего пишите о передаче на скорости 2 Мбод? Чем выше скорость, тем большая производительность должна быть.astrahard писал(а):Я же говорю, у меня МЕГА работает с прерыванием АЦП со скоростью 40 Килогерц.
В смысле программный? Какая частота и разрядность получилась? Что мега кроме шима успевает сделать и как это сказывается на "дрожании" импульсов шима и на задержках выполнения других задач?[/uquote] Исходник. Программа на Хост. Разрядность ШИМ 8Бит, разрядность АЦП 10 Бит. Умеет ПИД регулирование и общение по ModBus для ввода уставок, я также получаю диагностику и кусочки осциллограммы. Вот хочу осциллограмму получить полностью.От Меги не потребуется больше чем в прерывании передать 2 байта. Напротив увеличение скорости UART сократит издержки на протокол ModBus. Одновременнная работа почти не отражается на дрожании импульсов, но, поскольку у меня осциллограмма не непрерывная, я смотрел толкно цифровым запоминающим осциллографом, серьезных сбоев не обнаружил. в этой теме подробнее https://radiokot.ru/forum/viewtopic.php?f=57&t=162148astrahard писал(а): На Меге тренировался чисто из спортивного интереса сделать цифровой ШИМ на процике на котором все говорили что это не реально
"Every profession is a conspiracy against the uninitiated" (B. Shaw)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
- nds
- Друг Кота
- Сообщения: 4747
- Зарегистрирован: Вс май 25, 2008 19:47:47
- Откуда: РФ
- Контактная информация:
Re: Принять данные на ПК со скоростью 1 Мбит
То что нельзя выбрать нужную скорость в визуальном компоновщике или даже в списке предоставляемом драйвером ничего не значит. Никто не мешает прописать любую поддерживаемую железом скорость в программе и оно с большой вероятностью будет работать
Тоже самое касается и "залоченного" ком порта прописывайте напрямую и будет вам счастье
Тоже самое касается и "залоченного" ком порта прописывайте напрямую и будет вам счастье
2B OR NOT 2B = FF
Re: Принять данные на ПК со скоростью 1 Мбит
Я понял, визуальных компонент вряд-ли кто подкинет, да и проблемы с ними. Зачем спрашивается так писать, когда список скоростей спрашивают не у драйвера а зашивают свой?
"Every profession is a conspiracy against the uninitiated" (B. Shaw)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: Принять данные на ПК со скоростью 1 Мбит
[uquote="Мурик",url="/forum/viewtopic.php?p=3740744#p3740744"]Из первого сообщения ясно следует что речь про винду.[/uquote]
И что? Прошивка для игровых приставок не умеет скорость 1Мбит/с? Ну-ну...
И что? Прошивка для игровых приставок не умеет скорость 1Мбит/с? Ну-ну...
Re: Принять данные на ПК со скоростью 1 Мбит
Плохо, все плохо. Не нашел сквозного описания прохождения данных по пути, как я себе представляю, TTL сигнал > буфер микросхемы USB-UART 384 или 256 байт > собственно конечные точки USB со скоростью 12 мегабит и темпом 1000 опросов в сек > прерывание USB > файл ОС. Как Вы думаете? правильно представил себе путь данных? И еще, если в микросхеме USB-UART буфер на прием 256 байт, то скорость будет 256*1000(темп USB HOST)=256 Kb/Sec? это если без потерь?
P.S. Кстати, если, как говорит nds , бестолку смотреть на список скоростей в Windows интерфейсе драйвера. То, может существует утилита которая его прочешет на предмет того, что драйвер может запрограммировать в USB-UART микросхему. Тут не так все однозначно, так как я встречал утверждение, что драйвер хранит этот список в реестре Windows в виде соответствия скорость-число делитель для USB-UART (для PL2303HX встречал такое утверждение) микросхемы. Короче мутно как-то. Хочу все знать...
P.S. Кстати, если, как говорит nds , бестолку смотреть на список скоростей в Windows интерфейсе драйвера. То, может существует утилита которая его прочешет на предмет того, что драйвер может запрограммировать в USB-UART микросхему. Тут не так все однозначно, так как я встречал утверждение, что драйвер хранит этот список в реестре Windows в виде соответствия скорость-число делитель для USB-UART (для PL2303HX встречал такое утверждение) микросхемы. Короче мутно как-то. Хочу все знать...
"Every profession is a conspiracy against the uninitiated" (B. Shaw)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
- nds
- Друг Кота
- Сообщения: 4747
- Зарегистрирован: Вс май 25, 2008 19:47:47
- Откуда: РФ
- Контактная информация:
Re: Принять данные на ПК со скоростью 1 Мбит
Usb-uart не обязательно низкоскоростное устройство, никто не запрещает ему общаться с компом на 480 мегабитах.
ЗЫ все знать не получится
ЗЫ все знать не получится
2B OR NOT 2B = FF
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: Принять данные на ПК со скоростью 1 Мбит
Зачем вообще городить дополнительный тормозной буфер, если можно просто взять микроконтроллер с аппаратным USB, поднять на нем CDC ACM и гонять хоть 4 мегабита?
Re: Принять данные на ПК со скоростью 1 Мбит
Ну зачем Вы так "Usb-uart не обязательно низкоскоростное устройство, никто не запрещает ему общаться с компом на 480 мегабитах." Конечно может теоретически, но практических дешевых реализаций нет. Лучше бы сказали про путь прохождения данных правильно-ли я его представил себе?
Добавлено after 2 minutes 28 seconds:
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3740871#p3740871"]Зачем вообще городить дополнительный тормозной буфер, если можно просто взять микроконтроллер с аппаратным USB, поднять на нем CDC ACM и гонять хоть 4 мегабита?[/uquote]
Затем, что часть работы уже сделана, и это самое дешевое решение. Мне нужно именно 2 мегабита, вернее 80 килобайт в секунду без потерь. Кроме того в этом случае дешевле выполнить гальваническую изоляцию, чем на USB. Вообще, я планирую освоить передачу данных Манчестерским кодом через пластиковое оптоволокно как Toslink S/PDIF там как раз Манчестер бегает. Изоляция будет Мегавольты. Для ЧПУ и Энергетики сгодиться.
Добавлено after 12 minutes 8 seconds:
Вот еще мысль пришла. Должно-же быть недорогое решение для скоростей порядка 2-20 Мегабит как Toslink S/PDIF к примеру. Эта ниша не заполнена примерами решений. USB интерфейс на очень короткие дистанции с ужасно плохой помехоустойчивостью и без изоляции. Есть еще Ethernet, но опять-же это значительно дороже. Теперь надеюсь все понятно?
Добавлено after 2 minutes 28 seconds:
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=3740871#p3740871"]Зачем вообще городить дополнительный тормозной буфер, если можно просто взять микроконтроллер с аппаратным USB, поднять на нем CDC ACM и гонять хоть 4 мегабита?[/uquote]
Затем, что часть работы уже сделана, и это самое дешевое решение. Мне нужно именно 2 мегабита, вернее 80 килобайт в секунду без потерь. Кроме того в этом случае дешевле выполнить гальваническую изоляцию, чем на USB. Вообще, я планирую освоить передачу данных Манчестерским кодом через пластиковое оптоволокно как Toslink S/PDIF там как раз Манчестер бегает. Изоляция будет Мегавольты. Для ЧПУ и Энергетики сгодиться.
Добавлено after 12 minutes 8 seconds:
Вот еще мысль пришла. Должно-же быть недорогое решение для скоростей порядка 2-20 Мегабит как Toslink S/PDIF к примеру. Эта ниша не заполнена примерами решений. USB интерфейс на очень короткие дистанции с ужасно плохой помехоустойчивостью и без изоляции. Есть еще Ethernet, но опять-же это значительно дороже. Теперь надеюсь все понятно?
"Every profession is a conspiracy against the uninitiated" (B. Shaw)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
Re: Принять данные на ПК со скоростью 1 Мбит
Используется аппаратный ШИМ. Тогда непонятно что подразумевалось под этим.astrahard писал(а):Исходник.
astrahard писал(а):На Меге тренировался чисто из спортивного интереса сделать цифровой ШИМ на процике на котором все говорили что это не реально
Я что-то подобное писал?Eddy_Em писал(а):И что? Прошивка для игровых приставок не умеет скорость 1Мбит/с?
- Eddy_Em
- Собутыльник Кота
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
- Контактная информация:
Re: Принять данные на ПК со скоростью 1 Мбит
С аврки? Да ладно! У нее же практически все время выжрет отправка данных. А как их получать в этом случае?astrahard писал(а): Мне нужно именно 2 мегабита, вернее 80 килобайт в секунду без потерь
Или у аврки есть DMA, чтобы пока очередная порция данных отправляется, получить следующую?
Re: Принять данные на ПК со скоростью 1 Мбит
ComPort->CustomBaudRate=2000000; Все заработало. Оказывается драйвер поддерживает 2 Мбит. Атмега справляется тоже. В смысле все время выжрет? Отправляю через прерывание. Время передачи одного байта 8 микросекунды на 2000 000. А время прерывания 31 микросекунда, мне нужно 16 микросекунд чтобы передать два байта с частотой 31 Килогерц и они нашлись.
Добавлено after 9 minutes 13 seconds:
Проверил сейчас осциллографом. PL2303HX работает на скорости 2 Мегабит, вижу импульсы по 400 наносекунд и это из приложения на С++ билдере. Ура работает!!!
Добавлено after 22 minutes 3 seconds:
Кстати, с такой задачей справляется только Prolific Pl2303HX. CP2102, FT232R и CH340 не тянут 4 Мбит!!!! Ат Мега работает портом в Аsynchronous Mode тоже на 2 Мегабит с кварцем 16 мегагерц. Все срослось как нельзя лучше.
Добавлено after 23 minutes 7 seconds:
Prolific Pl2303HX самая дешевая Китайская со старым драйвером 2008 года. Все равно 6 мбит умеет, кажеться она и 12 Мбит тянет. Надо проверить. Кроме того, как я понял, непрерывный поток зависит от величины буфера в и вряд-ли больше 6 Мбит потянет. Для Меги предел 2 Мбит. Вот на TMS320F28016 завтра обкатаю скорость 12 Мегабит и 6 Мегабит. Где непрерывный поток получиться там и остановлюсь. Это мне для осциллографирования работы цифрового ШИМ нужно. 6 Мегабит/16 это 375 Килобайт/секунда, а мне нужно 4*2*20000= 160 Килобайт в секунду. Это 4 канала АЦП по 2 байта и на частоте 20 Килогерц.
Добавлено after 9 minutes 13 seconds:
Проверил сейчас осциллографом. PL2303HX работает на скорости 2 Мегабит, вижу импульсы по 400 наносекунд и это из приложения на С++ билдере. Ура работает!!!
Добавлено after 22 minutes 3 seconds:
Кстати, с такой задачей справляется только Prolific Pl2303HX. CP2102, FT232R и CH340 не тянут 4 Мбит!!!! Ат Мега работает портом в Аsynchronous Mode тоже на 2 Мегабит с кварцем 16 мегагерц. Все срослось как нельзя лучше.
Добавлено after 23 minutes 7 seconds:
Prolific Pl2303HX самая дешевая Китайская со старым драйвером 2008 года. Все равно 6 мбит умеет, кажеться она и 12 Мбит тянет. Надо проверить. Кроме того, как я понял, непрерывный поток зависит от величины буфера в и вряд-ли больше 6 Мбит потянет. Для Меги предел 2 Мбит. Вот на TMS320F28016 завтра обкатаю скорость 12 Мегабит и 6 Мегабит. Где непрерывный поток получиться там и остановлюсь. Это мне для осциллографирования работы цифрового ШИМ нужно. 6 Мегабит/16 это 375 Килобайт/секунда, а мне нужно 4*2*20000= 160 Килобайт в секунду. Это 4 канала АЦП по 2 байта и на частоте 20 Килогерц.
"Every profession is a conspiracy against the uninitiated" (B. Shaw)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
Re: Принять данные на ПК со скоростью 1 Мбит
Проще взять. https://ru.aliexpress.com/item/4000257258147.htmlastrahard писал(а):Это мне для осциллографирования работы цифрового ШИМ нужно.
Re: Принять данные на ПК со скоростью 1 Мбит
Жду из Китая такую штуку. Впрочем, Вы не поняли, у меня есть контроллер где успешно крутиться задача цифрового ШИМ контроллера. Контроллер МЕГА16 подключен к компьютерному БП заместо выпаяноq TL494. Контроллер помимо задачи ШИМ и ПИД параллельно выполняет задачу протокол ModBus, я еще добавлю осциллографирование. Уже мне подсказали, как, и проверил что работает, и проблема исчерпана. Я запустил в микроконтроллере задачу осциллограф, добавив в прерывание две строчки. Комп тоже справляется с потоком, поток 2 Мбит непрерывный. Мне помог VladislavS с изиэлектроникс и radteh местный, спасибо им большущее!!!!.
P.S. Исходники я выкладывал в теме https://radiokot.ru/forum/viewtopic.php?f=57&t=162148 Исправления выложу попозже. Скорость получилась 2 Мбит.... Это только на первый взгляд кажется что 2 Мбит не подъемно для МЕГИ16, на самом деле оказалось сущие пустяки...
P.S. Исходники я выкладывал в теме https://radiokot.ru/forum/viewtopic.php?f=57&t=162148 Исправления выложу попозже. Скорость получилась 2 Мбит.... Это только на первый взгляд кажется что 2 Мбит не подъемно для МЕГИ16, на самом деле оказалось сущие пустяки...
"Every profession is a conspiracy against the uninitiated" (B. Shaw)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
"A textbook can be defined as a book unsuitable for reading" (B. Shaw)
Tautology is humor in "this" place (Vigo Carpathian)
Re: Принять данные на ПК со скоростью 1 Мбит
Передайте непрерывный поток на этой скорости, а не несколько байт. Передачу выполняет аппаратный UART и его скорость не важна. Важно сколько байт будет отправлено за определенное время.astrahard писал(а): Это только на первый взгляд кажется что 2 Мбит не подъемно для МЕГИ16


