|
|
  |
COM-порт. Параллельный вывод информации., Вывод на ЦАП. |
|
|
|
Jun 19 2007, 13:19
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 19-06-07
Пользователь №: 28 547

|
Доброго времени суток! Хочу спросить: как можно выводить информацию с COM порта параллельно, а не последовательно? Просто нужно вывести информацию на аналогово-цифровой преобразователь КР572ПА2. Не обращайте внимание на то что он 12-разрядный))
Цифро-аналоговый конечно же...))
|
|
|
|
|
Jun 19 2007, 13:28
|
Местный
  
Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165

|
В принципе можно поставить ИС типа 16550 - см. тут даташит - http://depositfiles.com/files/1050457. Такие схемы созданы для интерфайса COM-порта с шиной проца. Поскольку Вы будите двигать инфо только в одном направлении, можно большенство контрольных сигналов с параллельной стороны прибить или к земле, или к 5В, в соответствии с даташитом. Хорошо было бы воспользоватся дополнительным сигналом от COM-порта: CTS (clear to send), поскольку 16550 провел бы этот сигнал на параллельную сторону, и это был бы готовый индикатор для Вашего ЦАП что надо начинать перевод (conversion). Это решение имеет смысл для пользователя который не хочит воспользоватся МК, и делать для него прошивку. Бесспорно, любой дешевый PIC или AVR справился бы с такой задачей куда оперативнее бы, но если начинающий не хочит с этим морочить себе голову (прошивка, компилятор/ассемблер, программатор, дебаггинг), решение с готовой схемой есть вариант.
--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
|
|
|
|
|
Jun 19 2007, 13:55
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 19-06-07
Пользователь №: 28 547

|
Если честно, то я не совсем понял описание, которое вы мне скинули. Наверное по местным меркам я вообще супер-новичек. Я так понял это некоторая интегральная схема? Короче, неважно. Объясню-ка я задачу, для которой мне все то нужно(Она довольно абстрактная). Мне нужно на компе программо генерировать случайное число и выводить его на COM-порт. От порта оно должно передаваться на ЦАП и на вольтметре должно показаться некое напряжение).
|
|
|
|
|
Jun 19 2007, 14:52
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 19-06-07
Пользователь №: 28 547

|
Про LPT сразу подумал, но оставим этот вариант как резервный, ибо я пока не знаю как в Delphi реализовать вывод на него. Кстати 74НС164 это не тоже самое, что и К561ИР2? И подойдет ли К561ИР2? А сколько стоит 74НС164? Я просто зверский новичек!  Нет, мы еще даже электронику не начинали проходить. Просто вот у меня сессия как-то очень быстро закончилась и я решил заняться практикой. Вот куратор и задал задание. Ах да, скажите пожалуйста, что такое микроконтроллер (очень или не очень сложное это устройство и сколько оно примерно может стоить) и какой лучше всего подойдет в данном случае?
|
|
|
|
|
Jun 19 2007, 15:05
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цены можете узнать например в поисковике efind.ru. Даташиты (описания/спецификации) там же или поисковиком типа Google. Если нужен сдвиговый регистр, то я бы рекомендовал использовать вместо 74HC164 другой (более продвинутый) 74HC595. Однако еще раз повторяю, что реализовать вашу задачу проще, взяв микроконтроллер с аппаратным UART и достаточным для управления ЦАПом количеством выводов (GPIO).
|
|
|
|
|
Jun 19 2007, 15:13
|
Участник

Группа: Новичок
Сообщений: 15
Регистрация: 19-06-07
Пользователь №: 28 547

|
...когда увидел цены, непроизвольно улыбнулся
74HC595D-----------6.99 руб
Жесть А я почему-то думал о сумме рублей в 600))
|
|
|
|
|
Jun 19 2007, 15:57
|
Местный
  
Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165

|
Цитата(Toni Gard @ Jun 19 2007, 09:55)  Если честно, то я не совсем понял описание, которое вы мне скинули. Наверное по местным меркам я вообще супер-новичек. Я так понял это некоторая интегральная схема? Короче, неважно. Объясню-ка я задачу, для которой мне все то нужно(Она довольно абстрактная). Мне нужно на компе программо генерировать случайное число и выводить его на COM-порт. От порта оно должно передаваться на ЦАП и на вольтметре должно показаться некое напряжение). Ok, могу попроще. Если Вы еще не изучали электронику, Вам будет сложно заниматся программными микросхемами без какой то начальной помощи. На то и советую пользоватся готовой ИС типа 16550. У вас есть серийный поток (от COM порта) который Вам надо превратить в параллельный, и загрузить его в ЦАП. До этого Вам надо сделать ЦАП готовым к приему новой параллельной инфо. В COM-порте кроме Tх и Rx линий есть еще и status линии, ведь интерфайс перваночально создан для работы с модемами. Я предлагаю использовать схему с первой страницы даташита который я Вам дал выше. Но, та конкретная схема создана для общения процессора с COM-портом. Процессор способен принимать и посылать инфо параллельно, но Ваш ЦАП может только принимать. Соответственно, Вам нужно заставить 16550 только принимать инфо, и загружать ЦАП, предварительно дернув за load линию ЦАPa.
--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
|
|
|
|
|
Jun 19 2007, 17:39
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(CodeWarrior1241 @ Jun 19 2007, 21:57)  Ok, могу попроще. Если Вы еще не изучали электронику, Вам будет сложно заниматся программными микросхемами без какой то начальной помощи. На то и советую пользоватся готовой ИС типа 16550. Этот совет из серии вредных! М/с UART типа 16550 предназначена для работы с параллельной шиной в составе устройства с каким-нибудь процессором. Для того чтобы она могла хотя бы принимать ее нужно сконфигурировать для этого. Чем, спрашивается, Toni Gard будет ее конфигурировать? С помощью ЦАП? И каким образом передавать принятые от 16550 данные в ЦАП? Автомат, формирующий циклы чтение/записи, реализовывать? На рассыпухе? На CPLD? на FPGA? Проще будет не геммороиться с предложенной CodeWarrior1241 м\с UART, а взять МК со встроенным аппаратным UART. В третий раз предлагаю!  . Хотя если уж так хочется обойтись без процессора или МК вообще, то напомню, что в СССР выпускалась м/с аппаратного UART типа КР581ВА1А, которая вообще не требовала программирования ее регистров каким-либо CPU и имела параллельную 8-ми разрядную шину данных. Режим ее работы задавался конфигурацией внешних управляющих сигналов (перемычками). Ее, кстати, до сих пор еще можно купить.
|
|
|
|
|
Jun 19 2007, 18:10
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 19-06-07
Из: Украина, г. Кривой Рог
Пользователь №: 28 553

|
А какую микросхему ЦАП форумисты посоветуют для работы с параллельным портом ПК? Нужно что-то попроще.
|
|
|
|
|
Jun 19 2007, 18:15
|
Местный
  
Группа: Свой
Сообщений: 496
Регистрация: 14-03-07
Из: In The District
Пользователь №: 26 165

|
Цитата(rezident @ Jun 19 2007, 13:39)  Этот совет из серии вредных! М/с UART типа 16550 предназначена для работы с параллельной шиной в составе устройства с каким-нибудь процессором. Для того чтобы она могла хотя бы принимать ее нужно сконфигурировать для этого. Чем, спрашивается, Toni Gard будет ее конфигурировать? Не надо горичится. Для чего сделан 16550, и почему МК был бы лучше, я тоже написал. Единственное предполажение которое я сделал было то что 16550 чип имеет defaults в своей конфигурации с которыми он включается, и если соответствуще выставить пины он свободно будет принимать инфо. Посмотрел на даташит, кажется что это не так, скорость/partity, итд надо выставлять самому... Естессно я не знал про существование ИС типа КР581ВА1А о которой говорите Вы, но в принципе я хотеь превратить 16550 именно в функциональный аналог КР581ВА1А. Можно сделать еще проще - нужно взять простую схему типа serial2parallel, а потом подвести 8 выходов на дешевый DAC, типа DAC0808. Я копировал эту схему с книги Mazidi and Mazidi, и с DAC0808 получился простой генератор синусов. Таже схема пользованья DAC0808 можно найти в даташите на него.
Эскизы прикрепленных изображений
--------------------
In Mozilla, you keep tabs on your browser. In the USSR, your browser keeps tabs on you.
|
|
|
|
|
Jun 19 2007, 20:25
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 19-06-07
Из: Украина, г. Кривой Рог
Пользователь №: 28 553

|
Цитата(Omen_13 @ Jun 19 2007, 21:59)  Вопрос форумчанам: Может склепать пару-тройку примитивных примеров для задач подобной этой на различной элементной базе (регистры, процы и т.д.)? Может подобных вопросов меньше станет Замечательная инициатива. Я думаю, что никто возражать против этого не будет.
|
|
|
|
|
Jun 19 2007, 20:51
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(Omen_13 @ Jun 20 2007, 00:59)  Вопрос форумчанам: Может склепать пару-тройку примитивных примеров для задач подобной этой на различной элементной базе (регистры, процы и т.д.)? Может подобных вопросов меньше станет Примеры проектов сделать можно, но только не для того, чтобы вопросы не возникали. Вопросы нужно задавать. Вопросы полезно задавать. Без возникновения вопросов творчество и дальнейшее развитие личности я даже не представляю. Только с развитем личности должно расти качество вопросов. P.S. если Toni Gard разрешит убрать какой-либо из двух его основных факторов (COM-порт и КР572ПВ2), то можно будет порекомендовать что-либо из готовых примеров от производителей ЦАП и МК.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|