Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Скорость передачи по 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]

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



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

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.58 MB
Время: 0.069 c
15-1265387354
Jeer
2010-02-05 19:29
2010.08.27
arduino + clone


2-1268379069
Б
2010-03-12 10:31
2010.08.27
Имя файла в TOpenDialog.


2-1275124913
tamako
2010-05-29 13:21
2010.08.27
dbf в txt как?


2-1265953833
n_sch
2010-02-12 08:50
2010.08.27
Rave Reports 5


15-1263977721
картман
2010-01-20 11:55
2010.08.27
Обработка ошибок