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

Вниз

Программирование COM порта   Найти похожие ветки 

 
saNat ©   (2004-08-17 14:28) [0]

Доброго времени суток.
Решаю такую задачу. Есть устройство с аналоговыми выходами для подключения к осциллографу. Нужно выводить информацию вместо осциллографа на компьютер. Очевидно, что нужно оцифровать сигнал - используем 2 АЦП по 8 разрядов. Передавать на компьютер собираюсь через COM (RS-232). Он как я понял передает/получает информацию байтами побитно. Соответственно нужно сформировать передаваемый сигнал (8 бит с АЦП) для побитной передачи. Была мысль использовать мультиплексор, однако им нужно управлять. Вопрос - каким образом. Можно поставить счетчик и таймер, но тогда аппаратно ограничивается время передачи сигнала...
Подскажите, пожалуйста, где я неправ и какие варианты осуществления задачи могут быть еще...
P.S.: А можно в Москве записаться в библиотеку временно и без регистрации? (Я временно работаю здесь и живу у родственников).


 
Digitman ©   (2004-08-17 14:34) [1]


> Передавать на компьютер собираюсь через COM (RS-232).


чем обосновано ? почему не через LPT ?


 
вразлет ©   (2004-08-17 15:25) [2]

saNat ©  

Микроконтроллер

Digitman ©  

А почему LPT?)


 
DiamondShark ©   (2004-08-17 15:33) [3]

Я бы поставил однокристалку и БИС последовательного приёмопередатчика (если это уже в однокристалке не реализовано).

Но вот такой вопрос: а хватит ли пропускной способности порта?
Какие параметры измеряемого сигнала?


 
Рамиль ©   (2004-08-17 16:02) [4]

Прежде чем передавать, посчитай на какой частоте будет работать  у тебя в итоге. Практического применеия не будет, даже через LPT.


 
Fredericco ©   (2004-08-17 16:08) [5]

ICPCON 71xx (точно модель не помню)
http://www.ipc2u.ru/


 
Digitman ©   (2004-08-17 16:27) [6]


> вразлет ©   (17.08.04 15:25) [2]


> А почему LPT?)


да какая нафих разница, LPT илим не LPT ? меня просто удивила фраза


> собираюсь через COM (RS-232).


она от балды или не от балды ? вот в чем вопрос)


 
Fredericco ©   (2004-08-17 17:24) [7]

Приблизительно вот это:
http://www.ipc2u.ru/catalog/0/q7.html


 
saNat ©   (2004-08-18 13:44) [8]

> ...Чем обосновано ? почему не через LPT ? [1]
Просто читал, что программирование для LPT сложнее, чем для COM. К тому же на LPT часто вешают принтер.
> собираюсь через COM (RS-232).

> ...Она от балды или не от балды ? вот в чем вопрос [6]
Ну ,как я прочитал, есть несколько интерфейсов. Вот и указал, что собираюсь использовать RS-232.

Поясню немного. Есть задание на диплом (взял заранее). В курсе по ТАУ выполняются л/р. К стенду подключен осциллограф, но он такой древности :о) Вот и поставили мне задачу - сделать вывод информации на компьютер. Как я понимаю, готовая вещь должна быть дешевая (признаться, не знаю я стоимость МК) и сделанная своими руками (впрочем, программирование  МК остается мне...). Из того, что я читал - МК S-700, но оно же денег стоит не стипендиальных...

Так как с моей идеей по поводу использования мультиплексора, счетчика и таймера?


 
DiamondShark ©   (2004-08-18 13:49) [9]

Ты подожди с таймерами.
Параметры сигнала какие? Хватит ли скорости порта?


 
saNat ©   (2004-08-18 13:55) [10]

> Параметры сигнала какие? Хватит ли скорости порта? [9]
Ну как я представляю себе, параметры сигнала влияют сопряжение с АЦП (диапазон напряжения). А скорость передачи в моем случае будет зависеть от таймера, т.к. он будет задавать циклы формирования блоков данных


 
Digitman ©   (2004-08-18 13:56) [11]


> Просто читал, что программирование для LPT сложнее, чем
> для COM


тебе шашечки или ехать ?

при чем здесь "сложнее" или "проще" ? выбор интерфейса определяется отнюдь не "сложностью" программного взаимодействия с ним, а принципиальной возможностью реализации поставленной задачи при использования того или иного интерфейса !

посему вникни в [9]


 
Digitman ©   (2004-08-18 14:00) [12]


> saNat ©   (18.08.04 13:55) [10]


> как я представляю себе


плохо ты представляешь

сразу скажу тебе, что твой "осциллограф", будучи реализованный на COM-порте, можно выкинуть на свалку, ибо с пом.него невозможнго будет исследовать сигналы, скажем, с частотой 1 МГц ... и выше ...


 
вразлет ©   (2004-08-18 14:06) [13]

saNat ©

Так как с моей идеей по поводу использования мультиплексора, счетчика и таймера?


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


 
DiamondShark ©   (2004-08-18 14:12) [14]


> saNat ©   (18.08.04 13:55) [10]

Скорость порта будет ограничивать частотный диапазон твоего осцилографа.

Давай прикинем.
Пусть мы работаем на скорости 115200. Это пропускная способность около 11 кбайт/сек. Если размер одного отсчёта 8 бит, то достигаемая частота дискретизации -- 11000 сек-1. Что с учётом теоремы о дискретизации даёт верхнюю границу полосы пропускания такого осцилографа около 5 кГц.

Вот и смотри, подойдёт ли тебе такой "осцилограф".


 
вразлет ©   (2004-08-18 14:18) [15]

Можно сигнал от осциллографа подавать на АЦП звуковой карты


 
Рамиль ©   (2004-08-18 14:18) [16]

Что то я сомневаюсь, что и 1 МГц потянет, если в лоб передавать.
Как вариант можно снимать характеристики не на каждом периоде сигнала, а через некоторые промежутки времени. Т. е.
1 ое измерение - t0 начало периода.
2 ое измерение - t0 + время на передачу через порт + ждем начало переиода + t дискретизации.
и т. д.
Но как это будет выглядеть схема такого устройства, даже не представляю:)

А передавать полностью оцифровку можно посчитать примерно.
1Мгц. 20 измерений на переиод (предположим), 16 бит, итого, скорость передачи должна быть
1e6*20*16 бит/c = 320 Мбит/c

Хм... я правильно посчитал? Или подход не правильный :o)
Поправьте если что:)


 
Digitman ©   (2004-08-18 14:43) [17]


> Рамиль ©   (18.08.04 14:18) [16]
> Что то я сомневаюсь, что и 1 МГц потянет


ну я ж - к примеру)... чтобы заведомо и сразу шваркнуло по мозгам и остудило ... вот еще не пристало - сидеть и высчитывать точно предельную частоту !.. к тому же АЦП непонятно какой ... не говоря уже о характеристиках еще не выбранного сдвигового регистра ...


 
Holy   (2004-08-18 15:06) [18]


> вразлет ©   (18.08.04 14:18) [15]
> Можно сигнал от осциллографа подавать на АЦП звуковой карты


Логично... Где-то даже в инете попадалась мне статья...


> Digitman ©   (18.08.04 14:00) [12]
>
> сразу скажу тебе, что твой "осциллограф", будучи реализованный
> на COM-порте, можно выкинуть на свалку, ибо с пом.него невозможнго
> будет исследовать сигналы, скажем, с частотой 1 МГц ...
> и выше ...


А где в лабах по основам ТУ (насколько это мне известно) встречаются такие частоты...

Можно приспособить какой-нить МК-51... Их на руб килограмм наверное продадут, и в принципе должно хватать по возможностям... Правда придется каккую-то обвязку самому делать...


 
DiamondShark ©   (2004-08-18 15:46) [19]


> А где в лабах по основам ТУ (насколько это мне известно)
> встречаются такие частоты...

Блин.
От автора вопроса уже второй день просят параметры сигнала.


 
Holy   (2004-08-18 16:00) [20]


> DiamondShark ©   (18.08.04 15:46) [19]


Я сам эти лабы делал... Там по-моему частоты чуть ли не дозвуковые... А автор их еще пока меряет... :)))


 
DiamondShark ©   (2004-08-18 16:08) [21]


> Holy   (18.08.04 16:00) [20]

Ну если ему полосы в 5 кГц хватит, то можно и через COM-порт делать.


 
Anatoly Podgoretsky ©   (2004-08-18 16:14) [22]

Если для показа на мониторе, то частота порта роли не играет, а если измерение всех значений с достаточной дискретностью, то в лучшем случае 1 кгц


 
QuasiLamo ©   (2004-08-18 17:28) [23]

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


 
Anatoly Podgoretsky ©   (2004-08-18 17:42) [24]

Этот делитель называется частота опроса АЦП, при условии, что сам АЦП в состоянии работать с такими частотамм.


 
QuasiLamo ©   (2004-08-18 17:55) [25]

не, я имею ввиду делитель самого аналогового сигнала, он будет стоять до ацп и делить все, что ему на вход подадут


 
Anatoly Podgoretsky ©   (2004-08-18 17:58) [26]

QuasiLamo ©   (18.08.04 17:55) [25]
А смысла нет, да и попробуй найти достойный аналоговый делитель.


 
Игорь Шевченко ©   (2004-08-18 17:59) [27]

Если входной сигнал не спалит звуковую карту, то искать AudioRTA или аналогичные программы, и не париться.


 
марсианин ©   (2004-08-18 18:38) [28]


Давай прикинем.
Пусть мы работаем на скорости 115200. Это пропускная способность около 11 кбайт/сек. Если размер одного отсчёта 8 бит, то достигаемая частота дискретизации -- 11000 сек-1. Что с учётом теоремы о дискретизации даёт верхнюю границу полосы пропускания такого осцилографа около 5 кГц.


а может и не стоит его передавать.. ведь на экране монитора 1 Мгц никогда не отобразится.. да и на лучевой трубке осциллограффа мы видим усредненный сигнал

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

тогда (при окошке 256х256, 1 измерение = 1 байт) можно закачивать 5к тичек в сек.. на 10-20 кадров/с хватит.. а если еще и сжимать...


 
saNat ©   (2004-08-19 14:15) [29]

> ...Посему вникни в [9]... [11]
Проникся идеей...
Ну если я правильно понял, то частота 10Гц.
Из паспорта: "Минимальный период квантования сигналов, с - 0,1".
М-да...


 
Digitman ©   (2004-08-19 14:30) [30]


> Из паспорта


ЧЬЕГО паспорта ?!


 
Рамиль ©   (2004-08-19 14:35) [31]


> да и на лучевой трубке осциллограффа мы видим усредненный
> сигнал

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


> [29] saNat ©   (19.08.04 14:15)

Ну, если 10Гц, хватит и ком порта. Только через LPT, ИМХО, удобней, можно выставить и считать, а так придется еще со со сдвиговыми регистрами заморачиваться...


 
Layner ©   (2004-08-19 14:53) [32]

Если частоты более 100кгц, то они легко делятся на 10 дополнительной микросхемой. (Для ком порта больше не надо.)

Я когда то делал частотомер, на ЛА.. короче, их всего было 8, каждая делила сигнал на 10, т.е первая принимала сигнал 40мгц, выдавала 4 МГц, след. выдавала 400кГц.

Частотомер получился на славу, до 60Мгц мерял (при условии, что самая первая микросхема была какая то скоростная, 555я вроде, все уж забыл...)! Таких в магазине, в начале 90х точно было не купить, не знаю как сейчас.


 
Рамиль ©   (2004-08-19 14:55) [33]


> [32] Layner ©   (19.08.04 14:53)

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


 
Layner ©   (2004-08-19 14:59) [34]

А в твоем случае, передавать на порт надо сигнал один, с одинаковой частотой, предположим модулированный в 10 кгц, больше не надо! А сигнал "кодить" будут твои АЛУ. Т.е. если напряжение "пила" передача будет примерно такая:
8585858585858
или
15951159951
Короче так.. а на компе расшифровываешь посылку и все.


 
Layner ©   (2004-08-19 15:02) [35]

Рамиль ©   (19.08.04 14:55)
Да, чую. Поэтому сигнал модулирует частоту 10кГц. Вот и все. Ничего тут изобретать не надо.


 
Digitman ©   (2004-08-19 16:06) [36]


> Поэтому сигнал модулирует частоту 10кГц


о боже...


 
Defunct ©   (2004-08-19 16:11) [37]

> saNat ©   (17.08.04 14:28)  

У MCS-51 есть очень интересный режим работы последовательного порта: режим 0 - моноканал с синхронизацией. Советую почитать о нем в книге: "Однокристальные МикроЭВМ",изд. Бином, 1991.

На компутере можно, используя цифровые выводы любого порта (как последовательного так и LPT), сделать аналогичный режим.

1 цифровой вывод использовать как канал синхронизации для вашего устройства.

1 цифровой вход использовать как битовый канал данных.

Скорость вам по сути не важна.


 
Defunct ©   (2004-08-19 16:19) [38]

> saNat ©   (17.08.04 14:28)

Ваше устройство можно сделать на 4 микросхемках:

2x 8-разрядный АЦП

и
2x 4-разрядный сдвиговый регист типа (К555ИР1)

и запитать прямо от цифровой линии любого ком порта, на худой конец питать можно от +5В USB

Вопросы по аське или почтой (в анкете).
Форум читаю редко.


 
GEN++ ©   (2004-08-19 21:03) [39]

>saNat ©  

Приведу цитату из Гостевой книги нашего сайта
(имя автора опущено):

Вторник, 9 Марта 2004 15:50
Здравствуйте, ФРАКТАЛ !

Спешу сообщить, что 20 февраля я блестяще провёл защиту диплома.
Моя работа была признана как одна из лучших на факультете (Физ-Хим).
Ещё не известно кто круче, по-этому "одна из"..
Видели бы вы меня в костюмчике, да с указкой !
Речь произвела неизгладимое впечатление на присутствующих.
Признание в глазах сокурсников, членов приёмной комиссии...
Стоит ли говорить, что всё это стало возможным благодаря вам !
Создание установки, затем, эксперимент, уникальные
научные исследования - всё это результат использования
вычислительного модуля МСU42-3. Кстати, модуль был подарен
мне вашим руководителем полтора года назад,
как только он узнал, что я из МИСиС. Ему - отдельная благодарность.

Я не иду в аспирантуру, но надеюсь, что установка прослужит будущему
поколению ещё долго !
Огромное спасибо за поддержку !
(Конец цитаты)

Если проявите интересс, мой e-Mail: e_goryunov@mail.ru


 
Layner ©   (2004-08-20 08:37) [40]

[36] Digitman ©   (19.08.04 16:06)
> Поэтому сигнал модулирует частоту 10кГц
о боже...

На ком порт идет постоянный поток данных, а не то что 1 Мгц, то его и на ком порт шлем, а если частота 10 Мгц, то тоже шлем на ком порт :) Не важно, справится он или нет. В общем я могу собрать свою схему хоть сейчас. До свидания.



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

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

Наверх




Память: 0.56 MB
Время: 0.037 c
6-1089278123
Iraizor
2004-07-08 13:15
2004.09.12
Вопрос про Сокеты и размер блока


11-1080480574
webpauk
2004-03-28 17:29
2004.09.12
ToolBar


3-1092897049
surkis
2004-08-19 10:30
2004.09.12
SQL(order by)


4-1091115422
Юрий
2004-07-29 19:37
2004.09.12
Как опознать мобильный телефон и управлять им


4-1091120974
DeMus
2004-07-29 21:09
2004.09.12
Как подключить в программе кассовый аппарат





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