Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Скорость передачи по COM порту   Найти похожие ветки 

 
Klopa   (2010-03-05 01:02) [0]

Можно ли установить низкую скорость.Скажем 1 бод?
Для передачи одному устройству работающему в режиме реального
времени требуется такая скорость.Но можно ли программно установить?
Устройства пока нет. Код нарыл
{Изменяем скорость передачи}
 Buffer^.dcb.BaudRate := 1200;
так вот 1200 - это константа, или ее можно менять в низшую сторону???


 
KilkennyCat ©   (2010-03-05 01:14) [1]


> так вот 1200 - это константа, или ее можно менять в низшую
> сторону???

бред.

и решение бред.

Подсказка:
Клавиатура с усб-разъемом подключена к порту усб 2.0
Значит ли это, что она передает нажатие кнопки со скоростью 480 мб\с, (а также с такой частотой можно зажигать на ней светодиодики) ?


 
Германн ©   (2010-03-05 01:21) [2]


> Можно ли установить низкую скорость.Скажем 1 бод?

Теоретически да.


 
KilkennyCat ©   (2010-03-05 01:32) [3]


> Германн ©   (05.03.10 01:21) [2]

нет.
Во-первых, это стандарт 232, а значит 110 - минимум.
Во-вторых, уарт (усарт) микросхемы частенько имеют нижний порог в 300 (это лет сто назад, когда я возился, а ща и выше, наверняка).


 
Германн ©   (2010-03-05 01:42) [4]


> KilkennyCat ©   (05.03.10 01:32) [3]
>
>
> > Германн ©   (05.03.10 01:21) [2]
>
> нет.
> Во-первых, это стандарт 232, а значит 110 - минимум.
> Во-вторых, уарт (усарт) микросхемы частенько имеют нижний
> порог в 300 (это лет сто назад, когда я возился, а ща и
> выше, наверняка).
>

Да. Ибо если верить спецификации 16550, она работает от DC. А значит минимума у неё нет. Т.е. и ты и я сможем сделать устройство с такой скоростью.


 
Германн ©   (2010-03-05 01:47) [5]


> Т.е. и ты и я сможем сделать устройство с такой скоростью.
>
>

Но ни ты, ни я этим заниматься не станем, ибо бред.


 
KilkennyCat ©   (2010-03-05 01:54) [6]

http://www.national.com/ds/PC/PC16550D.pdf
50 - минимум.
Я почему-то считал, 110, ошибся...


> Т.е. и ты и я сможем сделать устройство с такой скоростью.

да. но связаться с ним через стандартный компорт по rx tx не сможем


 
KilkennyCat ©   (2010-03-05 01:56) [7]


> ибо бред.

ну, возможно и не бред, если передавать очень немного на очень большое расстояние, но это будет специализированное решение на обоих концах.


 
Германн ©   (2010-03-05 02:00) [8]


> 50 - минимум.

Костя, ты в состоянии читать, думать? Или только способен глядеть на таблицы?
Микросхема может работать с генератором с нулевой частотой.
Минимума нет.

> да. но связаться с ним через стандартный компорт по rx tx
> не сможем

Через стандартный COM-порт компа не сможем. Поэтому я и сказал "теоретически да". Через стандартный компорт микросхемы - без проблем.


 
KilkennyCat ©   (2010-03-05 02:06) [9]


> Микросхема может работать с генератором с нулевой частотой.

это как??
Может, она еще и с пакетом менее 5 бит может?
Проще тогда выкинуть эту микросхему и поставить релюшку :)


 
Германн ©   (2010-03-05 02:10) [10]


> KilkennyCat ©   (05.03.10 01:56) [7]
>
>
> > ибо бред.
>
> ну, возможно и не бред, если передавать очень немного на
> очень большое расстояние, но это будет специализированное
> решение на обоих концах.
>

Ну да. Именно это я и имел в виду. Я никогда не возьмусь за разработку "устройства работающему в режиме реального времени", которое общается по стандартным протоколам UART с такой скоростью.


 
KilkennyCat ©   (2010-03-05 02:11) [11]

ветка к Делфи ваще никакого отношения...


 
KilkennyCat ©   (2010-03-05 02:13) [12]


> Я никогда не возьмусь

а я возмусь, но возьму невозвращаемый аванс.
кстати, я в конце марта в Москве буду, надо бухнуть будет ;)

Все, Клопа, не повезло тебе, ща всю ветку грохнут...


 
Германн ©   (2010-03-05 02:13) [13]


> KilkennyCat ©   (05.03.10 02:06) [9]
>
>
> > Микросхема может работать с генератором с нулевой частотой.
>
>
> это как??
>

Что пил?

Отвечу на почту.


 
KilkennyCat ©   (2010-03-05 02:15) [14]

я свой хостинг не оплатил, денег нет, почту не получу.
просто генератор и нулевая частота - это как-то слегка противоречит, не находишь?
пил молоко. свежее :)


 
Германн ©   (2010-03-05 02:32) [15]


> просто генератор и нулевая частота - это как-то слегка противоречит,
>  не находишь?

Не нахожу. Микросхема ничего не знает про генератор. Ей нужны только смены 0 -1 и 1-0 на неких входах. Поставь вместо генератора тумблер, который меняет 0 на 1 и 1 на 0. Вот тебе генератор с нулевой частотой. Щёлкай этим тумблером тогда, когда захочешь. И микросхема при этом будет нормально работать.


 
Игорь Шевченко ©   (2010-03-05 02:39) [16]


> или ее можно менять в низшую сторону???


GetCommProperties + если драйвер пропустит


 
Германн ©   (2010-03-05 02:40) [17]


> И микросхема при этом будет нормально работать.

Разумеется тут уж вообще нет никакой речи о стандартах. Только о работоспособности микросхемы как таковой.


 
Германн ©   (2010-03-05 02:41) [18]


> если драйвер пропустит
>

Не пропустит.


 
KilkennyCat ©   (2010-03-05 02:45) [19]


> И микросхема при этом будет нормально работать

неа.
Во-первых, работать она будет только как слегканагревательный элемент. Ибо это не преобразователь уровней из ттл в rs-232, тама и таймеры есть, и делители всяческие, и фига с два она в тумблерном режиме отловит стартовый бит хотя бы.
Во-вторых, тумблером туда-сюда это уже какая-никакая но генерация с какой-никакой частотой. Генерация 0 гц - это какая-то никакая генерация.
В-третьих, ограничение на аппаратном уровне, так что [16] не катит, даже если драйвер пропустит.


 
Германн ©   (2010-03-05 02:50) [20]


> KilkennyCat ©   (05.03.10 02:45) [19]

Значит либо пил, либо устал.
На твоё, Костя усмотрение.


 
KilkennyCat ©   (2010-03-05 02:55) [21]

а почему я? Может это ты пил или устал :)
Не, ну как генерация может быть нулевой?
И не будет работать микросхема,то аппарат реальный, от кучи условий зависит, а не чертеж на картинке, которому пофиг и температурный режим, и все остальное, лишь бы нолики и единички тусовались как надо.
Подумай, например, о емкостях.


 
Германн ©   (2010-03-05 03:04) [22]


> KilkennyCat ©   (05.03.10 02:55) [21]
>
> а почему я? Может это ты пил или устал :)
> Не, ну как генерация может быть нулевой?
>

Завтра поговорим.


 
KilkennyCat ©   (2010-03-05 03:05) [23]

А вообще любопытно, что же это за устройство... прибалтийское такое...


 
Германн ©   (2010-03-05 03:20) [24]


> KilkennyCat ©   (05.03.10 03:05) [23]
>
> А вообще любопытно, что же это за устройство... прибалтийское
> такое...

АП пока молчит. Значит секретное :)


 
Anatoly Podgoretsky ©   (2010-03-05 07:48) [25]

> Klopa  (05.03.2010 01:02:00)  [0]

Минимум скорости 45.45 бод


 
Bob   (2010-03-05 10:36) [26]

> Anatoly Podgoretsky ©   (05.03.10 07:48) [25]
> Минимум скорости 45.45 бод

Откуда такая цифра?

По идее, на ПК при программировании скорости USART,в его 2-х байтный
регистр заносится делитель частоты кварцевого генератора

divisor := clocks div (baud*16);

где clocks это частота кварца на USART-e.
Если clocks=1843200 Гц ( Во всяком случае, такая была раньше на АТ-шках)
Для bound=1 имеем :

divisor = 1843200 div 16 = 115200 = $01C200 (3 байта !)

Значит bound=1 низзя !)
Для бОльших частот кварца - тем более.
ИМХО :
MIN bound = 2 (divisor = $E100 = 57600)
Правда, сам такими извращениями не занимался.
Еще раз подчеркну : все рассчеты - для ПК с частотой кварца 1.843200 МГц.

Ежели делать сомодельное устройство - то, уменьшив частоту
генератора, можно получить и 1. Опять же ИМХО :-)
P.S. Если удаленное устройство сделано на МК, то и там могут быть
такие же проблемы.
Хотя, при программной реализации USARTa таких проблем не должно быть.
Зато будут другие :-)
Удачи.


 
KilkennyCat ©   (2010-03-05 10:42) [27]


> с частотой кварца 1.843200 МГц.

на некоторых скоростях будут ошибки, так что, делить все равно далеко не на все можно.
Но ты не читал Германна, кварц можно просто отковырять :)


 
Bob   (2010-03-05 11:21) [28]

> KilkennyCat ©   (05.03.10 10:42) [27]

Про ошибки я знаю.

> кварц можно просто отковырять

Ну кто же будет выковыривать кварц из компа и ставить туда тумблер ? :-)


 
Anatoly Podgoretsky ©   (2010-03-05 13:00) [29]

> Bob  (05.03.2010 10:36:26)  [26]

Это стандартная скорость, не надо мудрить с UART и гадать.


 
Anatoly Podgoretsky ©   (2010-03-05 13:02) [30]

> Bob  (05.03.2010 11:21:28)  [28]

А почему бы и нет, ведь ты же лезешь напрямую к железу, при том с закрыми глазами, почему и кварц не отковырять?


 
Bob   (2010-03-05 13:22) [31]

> Anatoly Podgoretsky ©   (05.03.10 13:00) [29]

> Это стандартная скорость, не надо мудрить с UART и гадать.

1. Да я, вроде, и не гадаю и не мудрю : формула взята из даташита (см. пост [6])
  Да и сам пользовался ей неоднократно в прошлом.

2. Просто речь зашла о НЕстандартных скоростях. Вот я и привел формулу.
  Работал по ней и со стандтными и НЕ стандартными скоростями ( ну что поделаешь,
  если разработчики железа были такими).
  А вот про "стандартную" скорость 45.45 бод я как-то не слыхивал : ну извините :-(
  Может подскажите из каких соображений получается минимальная скорость 45.45 ?
  Или ссылочку какую ?


 
Anatoly Podgoretsky ©   (2010-03-05 13:49) [32]

> Bob  (05.03.2010 13:22:31)  [31]

Как же не гадаешь, когда несколько раз сам же говорил про частоту кварца. И еще я посмотрю как тебя на платформе НТ пустят к оборудованию.

Эта скорость тоже появилась путем деления генератора на число и/или механически, слышал про такие устройства как телетайп, телеграфный аппарат? Вот это оттуда и пошло, уже потом в компьютерных технологиях появились 50, 75, 110, 300 и далее бод. На скорости 45 бод осуществлялась передача на несколько километров при тогдашних, физических линиях связи.


 
Anatoly Podgoretsky ©   (2010-03-05 20:24) [33]

> Германн  (05.03.2010 02:32:15)  [15]

Сдвиговый регистр с нулевой частотой не может работать, сдвиги прекращаются.


 
Игорь Шевченко ©   (2010-03-05 20:32) [34]

Anatoly Podgoretsky ©   (05.03.10 20:24) [33]

Может. Сигнальный бит использовать как тактовый.


 
GDI+   (2010-03-05 21:16) [35]


> Klopa   (05.03.10 01:02)
>
> Можно ли установить низкую скорость.Скажем 1 бод?
> Для передачи одному устройству работающему в режиме реального
> времени требуется такая скорость.Но можно ли программно
> установить?
> Устройства пока нет. Код нарыл
> {Изменяем скорость передачи}
>  Buffer^.dcb.BaudRate := 1200;
> так вот 1200 - это константа, или ее можно менять в низшую
> сторону???


А может тогда проще драйвер ядра(для низкой латентности) и тупо по ножке состояния передавать данные.


 
телеграфист   (2010-03-05 23:53) [36]


> Anatoly Podgoretsky ©   (05.03.10 13:49) [32]
> > Bob  (05.03.2010 13:22:31)  [31]
>
> Как же не гадаешь, когда несколько раз сам же говорил про
> частоту кварца. И еще я посмотрю как тебя на платформе НТ
> пустят к оборудованию.
>
> Эта скорость тоже появилась путем деления генератора на
> число и/или механически, слышал про такие устройства как
> телетайп, телеграфный аппарат? Вот это оттуда и пошло, уже
> потом в компьютерных технологиях появились 50, 75, 110,
> 300 и далее бод. На скорости 45 бод осуществлялась передача
> на несколько километров при тогдашних, физических линиях
> связи.

Ничего подобного, по поводу телеграфа.
Их скорость всегда была 50 бод, даже были механические камертоны для установки скорости вращения электромоторов электромеханических телеграфных аппаратов.


 
Bob   (2010-03-07 07:39) [37]

> телеграфист   (05.03.10 23:53) [36]
+1

> Anatoly Podgoretsky ©   (05.03.10 13:49) [32]

>...При тогдашних линиях...

Я и работал с телетайпами и телеграфными аппаратами (кажется СТ2м ?) при тогдашних линиях.
А потом на тех же скоростях и через компы (Win95/98-напрямую через порты; W2k, XP - через саму систему).

> И еще я посмотрю как тебя на платформе НТ пустят к оборудованию

А я и не собираюсь лезть в оборудование.
НТ сама вычисляет дивизор по заданной скорости во время инициализации КОМ-порта.

Кстати, для НТ-платформ есть и драйвы, работающие напрямую с портами COM & LPT.
Например :
DirectPort for Delphi 6 v3.0 29/01/2001. Сергей Агеев - SFlash.
Работает в w9x,wNT,w2k,wXP.
Честно говоря, не знаю как работает эта компонента.

А вот эта, судя по описанию,  лезет прямо в порты :

TetaPCHW v2.0
Platforms                   Programming Languages
Win95/Win98/WinME/NT/2000   D3/D4/D5/D6
Copyright (c) 2001, Evgeny Tarasov

TetaPCHW is a very little shareware suite which provides Delphi programmers with
standard methods for real-time access and control a set of PC hardware resources
on various Windows platforms.
For now the suite consists of:
   - Virtual device driver (pchwdrv.vxd) for Windows 95/98/WinME
   - Kernel-mode driver (pchwdrv.sys) for Windows NT4/Win2k
   - Delphi wrapper (TetaPCHW), a component, which manages the drivers for the
     purpose of performing:
           - read/write memory operations
           - I/O ports access
           - keyboard access


Вроде еще какие-то встречались. Давно это было... :-(


 
GDI+   (2010-03-07 18:53) [38]

> Bob   (07.03.10 07:39) [37]

Под Vista/Win7 x64 будет проблема в 499$ за покупку подписи для драйвера.


 
Дмитрий Белькевич   (2010-03-07 19:21) [39]

Слабо себе представляю девайс требующий один бод. Автор, колись, шо цэ такэ?


 
GDI+   (2010-03-07 21:04) [40]

Удалено модератором


 
Германн ©   (2010-03-08 01:17) [41]


> Дмитрий Белькевич   (07.03.10 19:21) [39]
>
> Слабо себе представляю девайс требующий один бод. Автор,
>  колись, шо цэ такэ?

Такие девайсы существуют только в кошмарных снах. А автор сказал, что
> Устройства пока нет. Код нарыл

Скорее всего хотелось использовать СОМ-порт нестандартно. И нарыт был некий код для нестандартного использования. Но скорость не подошла. Может быть я даже знаю этот нестандартный код. А может и ошибаюсь.
Но чем угодно клянусь, что ни один из железячников никогда не станет делать девайс, который общается по UART со скоростью 1 бод!


 
Bob   (2010-03-08 07:41) [42]

> GDI+   (07.03.10 18:53) [38]

Нет слов. :-(


 
tesseract ©   (2010-03-09 10:16) [43]

Если мне память не изменяет бод - это не бит/секунду. А количество изменений несущей в секунду.  например при 4 битном кодировании принятом в модеме - 2400 бод это 9600 бит/сек.

Для USART это полная пропускная способность канала, включая весь синхронизационный мусор.


> Но скорость не подошла.


USART не может принимать все возможные варианты. Всё связано как с частотой кристалла - так и с конкретной реализацией USART .


 
абизяна   (2010-03-09 15:46) [44]


> tesseract ©   (09.03.10 10:16) [43]

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


 
GDI+   (2010-03-09 19:31) [45]


> Bob   (08.03.10 07:41) [42]
>
> > GDI+   (07.03.10 18:53) [38]
>
> Нет слов. :-(


Ну почему нет слов. Написание драйверов - это самая сложная часть в системном программировании. Так что 499$ у кампании, которая занимается разработкой драйверов найтись должно.


 
Anatoly Podgoretsky ©   (2010-03-09 20:11) [46]

> абизяна  (09.03.2010 15:46:44)  [44]

Не учитываешь старт/стоповые импульсы.


 
абизяна   (2010-03-09 23:10) [47]


> Anatoly Podgoretsky ©   (09.03.10 20:11) [46]
> > абизяна  (09.03.2010 15:46:44)  [44]
>
> Не учитываешь старт/стоповые импульсы.

Ты прав. В этом случае 6 bit на символ.
Я о том, что Бод - это единица одной целой информации, а не bit. В противном случае зачем ещё одну сущность множить.
А вопрос в сабже странный: COM-порт работает последовательно, поэтому речь должна идти о битах в секнду, а не о Бодах. Может у него целой единицей информации является 1TByte, вот и получится, что нужно, если 1 Бод - за раз последовательно выслать целый TByte.


 
Германн ©   (2010-03-10 00:15) [48]

Для СОМ-порта, а в сабже именно о нем идет речь baud = = bits per sec.


 
Bob   (2010-03-10 05:33) [49]

> GDI+   (09.03.10 19:31) [45]

"Нет слов" == "нет 499$". :-)
А компании, в кот. я занимался этими делами нет давным-давно. :-(

> Германн ©   (10.03.10 00:15) [48]

> baud = = bits per sec.

+1


 
Вариант   (2010-03-10 06:39) [50]


> Германн ©   (10.03.10 00:15) [48]

А что говорится в определениях терминов БОД и БИТ В СЕК.?


 
brother ©   (2010-03-10 06:41) [51]

как всегда)
http://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82_%D0%B2_%D1%81%D0%B5%D0%BA%D1%83%D0%BD%D0%B4%D1%83
и
http://ru.wikipedia.org/wiki/%D0%91%D0%BE%D0%B4


 
brother ©   (2010-03-10 06:42) [52]

> как всегда)

те ничего нового...


 
Anatoly Podgoretsky ©   (2010-03-10 08:58) [53]

> Германн  (10.03.2010 00:15:48)  [48]

Для низких скоростей это не так, не забываем про нетипичные стоповые импульсы длиной в 1,42 / 1.5


 
tesseract ©   (2010-03-10 14:05) [54]


>  а в сабже именно о нем идет речь baud = = bits per sec.


6 бит +2 бит стоп + 1 стартовый. Сколько BPS? А сколько baud ?


 
Anatoly Podgoretsky ©   (2010-03-10 14:13) [55]

> tesseract  (10.03.2010 14:05:54)  [54]

Есть другой принцип измерения, слов в минуту.

Speed, intended to be roughly comparable to words per minute, was the standard designation introduced by Western Union for a mechanical teleprinter data transmission rate using the 5-bit baudot code that was popular in the 1940s and for several decades thereafter. Such a machine would send 1 start bit, 5 data bits, and 1.42 stop bits. This unusual stop bit time was actually a rest period to allow the mechanical printing mechanism to recycle. Since modern computer equipment cannot easily generate 1.42 bits for the stop period, common practice is to either approximate this with 1.5 bits, or to send 2.0 bits while accepting 1.0 bits receiving.

For example, a 60 speed machine is geared at 45.5 baud (22.0 ms per bit), a 66 speed machine is geared at 50.0 baud (20.0 ms per bit), a 75 speed machine is geared at 56.9 baud (17.5 ms per bit), a 100 speed machine is geared at 74.2 baud (13.5 ms per bit), and a 133 speed machine is geared at 100.0 baud (10.0 ms per bit). 60 speed became the de facto


 
Klopa   (2010-03-11 13:59) [56]

смысл есть много устройств с LPT портом, которого в современном компе уже не делают.
Им хорошо управлять из дельфи посылая нужные биты, для ХП
соотвествующая даже ДЛЛ есть.
Для просвященных - на порт вешается схема с релюшками, а их к лампам
или куда хочешь.
А вот с СОМом что-то не понятно, из-за того что у него есть скорость...


 
Германн ©   (2010-03-11 15:10) [57]


> А вот с СОМом что-то не понятно, из-за того что у него есть
> скорость...
>

Для таких задач можешь считать что нет у СОМа скорости.


 
tesseract ©   (2010-03-11 15:59) [58]


> Для просвященных


Это больше для школьников - извращения - их удел.


> из-за того что у него есть скорость...


Отличия синхронной и асинхронной передачи следует знать. У LPT вообще-то скорость вообще фиксированная - 12 кбит/сек. Да и на RS232 можно лампочки повесить - на DTR/CTS например.



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.62 MB
Время: 0.059 c
2-1269701259
Semnich
2010-03-27 17:47
2010.08.27
Помогите с задачкой


15-1274957509
Kolan
2010-05-27 14:51
2010.08.27
Форма T-12


2-1265977110
Начинающий__
2010-02-12 15:18
2010.08.27
Подстрока в строке


2-1267513524
MAX
2010-03-02 10:05
2010.08.27
текст на MessageDlg


2-1274633322
Nathan
2010-05-23 20:48
2010.08.27
Место положение .exe





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский