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

Вниз

Программирование 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;
Скачать: CL | DM;

Наверх




Память: 0.58 MB
Время: 0.026 c
10-1037889217
ac2dc
2002-11-21 17:33
2004.09.12
ip клиента в коде серванта


3-1092383731
John
2004-08-13 11:55
2004.09.12
Получение списка источников ODBC


4-1090927960
Sasha73
2004-07-27 15:32
2004.09.12
Как передать данные из одного роцесса в другой ?


1-1092845927
Maxim____
2004-08-18 20:18
2004.09.12
RTE 204


3-1092832268
Slash
2004-08-18 16:31
2004.09.12
Путь к базе данных