Форум: "Прочее";
Текущий архив: 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