Главная страница
    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]

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



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

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

Наверх




Память: 0.56 MB
Время: 0.059 c
2-1272958382
Пробегалец
2010-05-04 11:33
2010.08.27
Быстрый вывод графики на канву


15-1272952103
Phoenix
2010-05-04 09:48
2010.08.27
Как подерживать себя в работоспособном состоянии.


2-1267385084
bag
2010-02-28 22:24
2010.08.27
массивы


2-1268466114
Starraider
2010-03-13 10:41
2010.08.27
Программный сброс статистики по дате


4-1233081707
avi9526
2009-01-27 21:41
2010.08.27
Как получить доступ к скрытому за окном изображению?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский