Страница 1 из 1
Скорость передачи по USART
Добавлено: Вт апр 16, 2013 09:26:50
pokk
Здравствуйте, подскажите мне вот надо посчитать за какое время на скорости 9600 бод передастся 10000 бит.
Загвоздка вот в чём на скорости 9600 бит в секунду передаются какие биты ? только данные или все вместе со стартами чётностью и стопами?
Т.е как считать 10000 бит переводить в байты там прибавлять к каждому байту +2-3 бита потом обратно в биты и делить на 9600 так ?
Re: Скорость передачи по USART
Добавлено: Вт апр 16, 2013 09:40:21
Gudd-Head
pokk писал(а):Т.е как считать 10000 бит переводить в байты там прибавлять к каждому байту +2-3 бита потом обратно в биты и делить на 9600 так ?
Да, так. Но зачем переводить в байты, если можно всё посчитать в битах?
Re: Скорость передачи по USART
Добавлено: Вт апр 16, 2013 09:42:23
pokk
Благодарю за помощь!
Так было яснее а то раза 3-4 запутался =))
Re: Скорость передачи по USART
Добавлено: Вт апр 16, 2013 14:28:03
Alexeyslav
Зачем куда-то что-то переводить когда мы достоверно знаем что на 8 полезных бит передается 10-11-12(+1 старт, +1..2 стоп, +1 контроль четности). И не факт что на 9600 мы сможем передавать по линии плотным потоком, как говорится стык в стык. Обычно между передачами байтов имеется какой-то зазор, часто между передачами группы байт. И получается что передавать мы можем полезными НЕ БОЛЕЕ 8/10 * 9600 а в крайнем случае не более 8/12 * 9600 бит в секунду.
Re: Скорость передачи по USART
Добавлено: Вт апр 16, 2013 15:12:05
pokk
Про зазор между байтами понял буду учитывать его.
И получается что передавать мы можем полезными НЕ БОЛЕЕ 8/10 * 9600 а в крайнем случае не более 8/12 * 9600 бит в секунду.
вот тут как-то не совсем понятно (8/10 * 9600) это вы уменьшаете скорость для чего? что бы учитывать зазор ? или что бы стартовые стоповые биты не прибавлять и не переводить ?
Я в общем посчитал так вот (10000*11/8)/9600 но если учитывтаь зазор то скорость уменьшаем на 20% получается так вот (10000*11/8)/(9600*80%)
Re: Скорость передачи по USART
Добавлено: Вт апр 16, 2013 20:16:32
Alexeyslav
8/10 - это отношение полезного содержимого(8 бит) с транспортным(8бит + 1старт + 1стоп), соответственно умножив транспортную скорость на этот коэффициент получаем полезную. И это при условии что нет разрывов между посылками. Если есть разрывы, то скорость падает. Собственно вычисленная скорость это МАКСИМАЛЬНО ВОЗМОЖНАЯ. Если допустим принимающее устройство сможет обрабатывать только 1 байт за 10мс, то с какой скоростью не передавай поток все равно надо приостанавливать, появляются дополнительные зазоры между посылками и скорость падает.
Re: Скорость передачи по USART
Добавлено: Вт апр 16, 2013 20:42:23
pokk
Понятно спасибо!