Скорость передачи по USART

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Сообщение pokk »

Здравствуйте, подскажите мне вот надо посчитать за какое время на скорости 9600 бод передастся 10000 бит.
Загвоздка вот в чём на скорости 9600 бит в секунду передаются какие биты ? только данные или все вместе со стартами чётностью и стопами?
Т.е как считать 10000 бит переводить в байты там прибавлять к каждому байту +2-3 бита потом обратно в биты и делить на 9600 так ?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 20106
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Сообщение Gudd-Head »

pokk писал(а):Т.е как считать 10000 бит переводить в байты там прибавлять к каждому байту +2-3 бита потом обратно в биты и делить на 9600 так ?
Да, так. Но зачем переводить в байты, если можно всё посчитать в битах?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Реклама
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Сообщение pokk »

Благодарю за помощь!
Так было яснее а то раза 3-4 запутался =))
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

Зачем куда-то что-то переводить когда мы достоверно знаем что на 8 полезных бит передается 10-11-12(+1 старт, +1..2 стоп, +1 контроль четности). И не факт что на 9600 мы сможем передавать по линии плотным потоком, как говорится стык в стык. Обычно между передачами байтов имеется какой-то зазор, часто между передачами группы байт. И получается что передавать мы можем полезными НЕ БОЛЕЕ 8/10 * 9600 а в крайнем случае не более 8/12 * 9600 бит в секунду.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Сообщение pokk »

Про зазор между байтами понял буду учитывать его.
И получается что передавать мы можем полезными НЕ БОЛЕЕ 8/10 * 9600 а в крайнем случае не более 8/12 * 9600 бит в секунду.
вот тут как-то не совсем понятно (8/10 * 9600) это вы уменьшаете скорость для чего? что бы учитывать зазор ? или что бы стартовые стоповые биты не прибавлять и не переводить ?

Я в общем посчитал так вот (10000*11/8)/9600 но если учитывтаь зазор то скорость уменьшаем на 20% получается так вот (10000*11/8)/(9600*80%)
Реклама
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

8/10 - это отношение полезного содержимого(8 бит) с транспортным(8бит + 1старт + 1стоп), соответственно умножив транспортную скорость на этот коэффициент получаем полезную. И это при условии что нет разрывов между посылками. Если есть разрывы, то скорость падает. Собственно вычисленная скорость это МАКСИМАЛЬНО ВОЗМОЖНАЯ. Если допустим принимающее устройство сможет обрабатывать только 1 байт за 10мс, то с какой скоростью не передавай поток все равно надо приостанавливать, появляются дополнительные зазоры между посылками и скорость падает.
Контактная информация:
Реклама
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Сообщение pokk »

Понятно спасибо!
Ответить

Вернуться в «Интеграция с ПК»