Например TDA7294

Форум РадиоКот • Просмотр темы - Потери при передаче через UART.
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 22:10:16

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


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Потери при передаче через UART.
СообщениеДобавлено: Пн июн 05, 2017 22:34:38 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Пн сен 05, 2011 10:03:06
Сообщений: 160
Откуда: Тула
Рейтинг сообщения: 0
Нужно от МК передавать большие объемы данных в ПК. Скорость - 1 байт с интервалами от 10 до 20 мкс. Направление только от устройства в ПК. Для связи настраиваю UART микроконтроллера на передачу со скоростью 3 Мбит. Далее переходник UART-USB (FT232) для ввода в компьютер, а там софт работает через виртуальный COM порт. Уже при интервале 25 мкс теряется примерно 0.1% данных. При интервале 30 мкс все стабильно. То есть компьютер не успевает обрабатывать всего 40 кБ/с! Пробовал увеличивать размер приемного буфера - не помогло.
Какие будут идеи?

_________________
Если бы на станции "Мир" стояли Винды, она бы еще висела и висела...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Потери при передаче через UART.
СообщениеДобавлено: Вт июн 06, 2017 08:21:00 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 157
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3328
Рейтинг сообщения: 0
Какие будут идеи?
3 Мбит это нестандартная скорость UART. Уверены что ее поддерживает FT232 с величиной ошибки 0%?
В коде МК ошибок нет? Перед загрузкой нового байта в UART проверяете что предыдущий был передан?
Проверьте логическим анализатором что на линии MK - FT232.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Потери при передаче через UART.
СообщениеДобавлено: Вт июн 06, 2017 10:31:21 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 840
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 5592
Откуда: Minsk
Рейтинг сообщения: 0
Какая операционная система на ПК - реального времени ? Сомневаюсь. Видимо, в этом корень зла - ПК не успевает перерабатывть инфу в темпе ее поступления. И как ни увеличивай размер буфера - не поможет : как ни велика бочка, но если в нее вливается больше, чем вытекает - затопит соседей снизу по любому :(
Идеи - а предварительную обработку на стороне МК нельзя, чтобы отправлять слегка сжатые данные ?

_________________
Изображение


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Потери при передаче через UART.
СообщениеДобавлено: Вт июн 06, 2017 16:14:47 
Собутыльник Кота
Аватар пользователя

Карма: 55
Рейтинг сообщений: 415
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 2904
Откуда: Севастополь
Рейтинг сообщения: 0
Можно попробовать уменьшить длину проводов и/или заменить их на какие-нибудь хитровыделанные, типа витой пары.
У меня PL2303 тоже нет-нет, да и выдавал те же 0,1% ошибок на 4,5Mbs.
Потом радикально укоротил ему провода и заработало, да еще и на 6Mbs.

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Потери при передаче через UART.
СообщениеДобавлено: Вт июн 06, 2017 22:23:52 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Пн сен 05, 2011 10:03:06
Сообщений: 160
Откуда: Тула
Рейтинг сообщения: 0
Потом радикально укоротил ему провода и заработало, да еще и на 6Mbs.

А вот с этого места хотелось бы поподробнее. С какой частотой вы отправляли байты?

_________________
Если бы на станции "Мир" стояли Винды, она бы еще висела и висела...


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Потери при передаче через UART.
СообщениеДобавлено: Вт июн 06, 2017 22:51:17 
Собутыльник Кота
Аватар пользователя

Карма: 55
Рейтинг сообщений: 415
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 2904
Откуда: Севастополь
Рейтинг сообщения: 0
Я не слал по одному байту. Резервировал буфер размером 240х320х2=153600 байт, заполнял его, а потом слал целиком.

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Потери при передаче через UART.
СообщениеДобавлено: Ср июн 07, 2017 05:12:33 
Модератор
Аватар пользователя

Карма: 159
Рейтинг сообщений: 3903
Зарегистрирован: Пт янв 23, 2009 19:20:05
Сообщений: 42467
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
А попробовать использовать для обмена любой известный протокол обмена с коррекцией ошибок не пробовали? :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Потери при передаче через UART.
СообщениеДобавлено: Ср июн 07, 2017 10:24:51 
Потрогал лапой паяльник

Карма: 3
Рейтинг сообщений: 75
Зарегистрирован: Чт июл 24, 2014 00:25:25
Сообщений: 352
Рейтинг сообщения: 0
As писал(а):
А попробовать использовать для обмена любой известный протокол обмена с коррекцией ошибок не пробовали?

+100500...Ну, это первое, что приходит в голову любому человеку, который не хочет секса на ровном месте :)...Даже TCP поверх RS232 есть :). Но начать надо с того (т.к. упоминается МК), чтобы посмотреть, а нормальный ли там RS? Обычно любители секаса “3-хпроводковый” пользуют...А вообще, последовательный порт не для высокой скорости...- пользуйте SPI ну либо, ethernet - дотаборды даже для аруинщиков продаются....


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Потери при передаче через UART.
СообщениеДобавлено: Ср июн 07, 2017 20:02:41 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Пн сен 05, 2011 10:03:06
Сообщений: 160
Откуда: Тула
Рейтинг сообщения: 0
А попробовать использовать для обмена любой известный протокол обмена с коррекцией ошибок не пробовали? :)

Микроконтроллер у меня - мега48. Со сложными алгоритмами обработки там не разгуляешься. Мне надо проверять некоторый импульсный сигнал с временной модуляцией. МК просто засекает импульсы таймером в режиме захвата и отправляет содержимое ICR1 в UART. А вся обработка идет в компьютере.

Добавлено after 2 minutes 47 seconds:
Я не слал по одному байту. Резервировал буфер размером 240х320х2=153600 байт, заполнял его, а потом слал целиком.

А еще вопрос. Направление передачи какое? От МК в компьютер или наоборот?

_________________
Если бы на станции "Мир" стояли Винды, она бы еще висела и висела...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Потери при передаче через UART.
СообщениеДобавлено: Ср июн 07, 2017 22:41:50 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 840
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 5592
Откуда: Minsk
Рейтинг сообщения: 0
Конечно, там на месте виднее, но мне видятся 2 пути:
- Упираться в мегу8, которой в обед сто лет, и пытаться заставить ее гнать немыслимые объемы инфы в ПК.
- Взять какой-нить STM с ресурсами на порядок большими при сравнимой цене и загрузить его частью интеллектуальной работы.
Я так и не увидел метода, как при самых коротких и сверхэкранированных витых парах обеспечить обработку пришедшего большего количества информации, чем сможет ПК с нереалтаймовой (не так ли?) операционкой.

_________________
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Потери при передаче через UART.
СообщениеДобавлено: Чт июн 08, 2017 01:54:57 
Собутыльник Кота
Аватар пользователя

Карма: 55
Рейтинг сообщений: 415
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 2904
Откуда: Севастополь
Рейтинг сообщения: 0
А еще вопрос. Направление передачи какое? От МК в компьютер или наоборот?
От ПК к МК (PIC18F2520).

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Потери при передаче через UART.
СообщениеДобавлено: Чт июн 08, 2017 08:56:34 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 157
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3328
Рейтинг сообщения: 0
paskal писал(а):
Микроконтроллер у меня - мега48
У него быстродействия хватит для прима и передачи
paskal писал(а):
со скоростью 3 Мбит
Для обмена с такой скоростью нужна частота тактирования МК повыше и наличие DMA.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Потери при передаче через UART.
СообщениеДобавлено: Чт июн 08, 2017 09:01:20 
Мучитель микросхем
Аватар пользователя

Карма: 6
Рейтинг сообщений: 87
Зарегистрирован: Вс янв 09, 2011 23:05:37
Сообщений: 450
Откуда: СССР
Рейтинг сообщения: 0
FT232 подключается через USB 2.0, для которого даже 10 Мбит ерунда, все дело в правильной буферизации (при условии, что данные не пропадают на линии UART), а именно в правильной работе с буфером SerialPort. Как Вы читаете данные из буфера ?

_________________
Иван Сусанин - первый полупроводник :solder:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Потери при передаче через UART.
СообщениеДобавлено: Чт июн 15, 2017 21:34:11 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Пн сен 05, 2011 10:03:06
Сообщений: 160
Откуда: Тула
Рейтинг сообщения: 0
Как Вы читаете данные из буфера ?

Как из обычного ком порта - функцией ReadFile. Анализ потерь показывает что данные теряются непрерывными блоками. О есть идет прием вообще без потерь. Потом вдруг кусок данных пропадает, потом снова прием без потерь.

_________________
Если бы на станции "Мир" стояли Винды, она бы еще висела и висела...


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

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


Кто сейчас на форуме

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


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

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


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y