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

Местный
  
Группа: Свой
Сообщений: 243
Регистрация: 22-09-04
Из: Burbach, Germany
Пользователь №: 704

|
Цитата(Toni Gard @ Jun 20 2007, 15:44)  я за COM-порт, однако Окончательно и бесповоротно? Если да, продолжаем. Имеется у вас ЦАП 572ПА2. Он уже на плате, есть его обвязка (компоненты, необходимые для его работы) ? Если нет, то необходимо ознакомиться со схемами подключения: http://radioam.nm.ru/sprav_dac.html#572pa2http://www.alfarzpp.lv/rus/sc/572pa2.pdfТаким образом, на данном этапе Вам надо озадачиться поиском собственно ЦАПа и внешних необходимых ему компонентов + блок питания.
|
|
|
|
|
Jun 20 2007, 14:11
|
Местный
  
Группа: Участник
Сообщений: 206
Регистрация: 23-12-06
Из: Старых Васюков
Пользователь №: 23 821

|
Cовет из серии самых вредных!  Практики в освоении микроконтроллеров, ЦАП или регистров сдвига он точно не прибавит. Это скорее из области "Очумелые ручки". Если задача поставлена так, что требуется просто вывод на внешний вольтметр некоторого "случайного", но прогнозируемого напряжения и временные рамки фиксации или обновления его значения не критичны, то можно обойтись простым включением пассивного НЧ фильтра на один из выходов COM порта (RC цепочка - один резистор и один конденсатор). При этом программа должна посылать на выбранный выход непрерывный поток данных реализующий режим ШИМ. Для LPT этот вариант с одним выводом и симуляцией ШИМ тоже работает, но программно на LPT проще организовать статический вывод, подключив на линии данных матрицу R-2R.
--------------------
Время - материя тонкая и неточная...
|
|
|
|
|
Jun 20 2007, 14:27
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Вот такую примерно простенькую схему преобразования сигналов COM-порта в параллельную шину могу предложить. Сигнал DTR управляет входом последовательных данных SER, сигнал RTS управляет входом синхронного тактового входа SRCLK, сигнал TXD управляет входом синхронной защелки выходных сигналов RCLK. Нужно реализовать временную диаграмму синхронной записи 16-битного слова. Для защелкивания этого слова нужно передать через COM-порт любой байт на любой скорости, но желательно что-то типа 0x00. Естественно перед записью следующего 16-битного слова нужно дождаться когда передача этого байта закончится. Для контроля этой передачи можно соорудить "эхо", соединив 2 и 3 выводы разъема DB9F. P.S. схема прошла конвертацию в PCAD2004, поэтому уж не обессудьте за ее качество.
Сообщение отредактировал rezident - Jun 20 2007, 14:37
|
|
|
|
|
Jun 20 2007, 14:59
|

Местный
  
Группа: Свой
Сообщений: 243
Регистрация: 22-09-04
Из: Burbach, Germany
Пользователь №: 704

|
Цитата(rezident @ Jun 20 2007, 17:27)  Вот такую примерно простенькую схему преобразования сигналов COM-порта в параллельную шину могу предложить. Сигнал DTR управляет входом последовательных данных SER, сигнал RTS управляет входом синхронного тактового входа SRCLK, сигнал TXD управляет входом синхронной защелки выходных сигналов RCLK. Нужно реализовать временную диаграмму синхронной записи 16-битного слова. Для защелкивания этого слова нужно передать через COM-порт любой байт на любой скорости, но желательно что-то типа 0x00. Естественно перед записью следующего 16-битного слова нужно дождаться когда передача этого байта закончится. Для контроля этой передачи можно соорудить "эхо", соединив 2 и 3 выводы разъема DB9F. P.S. схема прошла конвертацию в PCAD2004, поэтому уж не обессудьте за ее качество. Скромненько и со вкусом! Я бы, правда, перестраховался. Между портом и регистрами такие вот цепи поставил бы (см. рисунок) Цитата(Mike18 @ Jun 20 2007, 17:11)  Cовет из серии самых вредных!  Практики в освоении микроконтроллеров, ЦАП или регистров сдвига он точно не прибавит. Это скорее из области "Очумелые ручки".  Зря Вы так. Практики в освоении микроконтроллеров действительно не прибавит... Ибо их тут нет по условию :-) А вот с работой ЦАПа и сдвиговых регистров человек разберется хорошо (если, конечно, будет желание) Цитата(Mike18 @ Jun 20 2007, 17:11)  Если задача поставлена так, что требуется просто вывод на внешний вольтметр некоторого "случайного", но прогнозируемого напряжения и временные рамки фиксации или обновления его значения не критичны, то можно обойтись простым включением пассивного НЧ фильтра на один из выходов COM порта (RC цепочка - один резистор и один конденсатор). При этом программа должна посылать на выбранный выход непрерывный поток данных реализующий режим ШИМ. Для LPT этот вариант с одним выводом и симуляцией ШИМ тоже работает, но программно на LPT проще организовать статический вывод, подключив на линии данных матрицу R-2R. Вы внимаетельно читали задачу? Человеку надо вывести данные на ЦАП !!! Конечно, можно сделать как Вы предлагаете, но это уже, извините, другая область. Поэтому как раз Ваш совет можно назвать если не "вредным", то "сбивающим с пути"
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 20 2007, 15:10
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(ALexx @ Jun 20 2007, 20:59)  Скромненько и со вкусом! Я бы, правда, перестраховался. Между портом и регистрами такие вот цепи поставил бы (см. рисунок) Примерно такое же согласование стоит в схеме BSL MSP430 из slaa096. У нас по этой схеме (BSL) собрано около 8 преобразователей, с помощью которых мы программируем MSP430 и LPC213x. Нареканий нет (по входу RS-232 ни один из строя не выходил), кроме того, что с одним ноутбуком этот интерфейс не хочет работать. Я подозреваю, что там COM-порт в паузах в shutdown уходит и поэтому программирование не получается. Можно конечно сделать и без применения 74HC14, чисто на транзисторах, как это в PonyProg реализовано.
Сообщение отредактировал rezident - Jun 20 2007, 15:13
|
|
|
|
|
Jun 21 2007, 07:02
|

Местный
  
Группа: Свой
Сообщений: 243
Регистрация: 22-09-04
Из: Burbach, Germany
Пользователь №: 704

|
Цитата(rezident @ Jun 20 2007, 18:10)  Примерно такое же согласование стоит в схеме BSL MSP430 из slaa096. У нас по этой схеме (BSL) собрано около 8 преобразователей, с помощью которых мы программируем MSP430 и LPC213x. Нареканий нет (по входу RS-232 ни один из строя не выходил), кроме того, что с одним ноутбуком этот интерфейс не хочет работать. Я подозреваю, что там COM-порт в паузах в shutdown уходит и поэтому программирование не получается. Можно конечно сделать и без применения 74HC14, чисто на транзисторах, как это в PonyProg реализовано. Все верно, работать будет, только обращу внимание на наличие защитных диодов в приведенных Вами схемах бутлоадера и ПониПрога. Оные диоды отсутствуют в предложенной Вами схеме со сдвиговыми регистрами.
|
|
|
|
|
Jun 21 2007, 20:35
|
Местный
  
Группа: Участник
Сообщений: 206
Регистрация: 23-12-06
Из: Старых Васюков
Пользователь №: 23 821

|
Цитата(ALexx @ Jun 20 2007, 18:59)  Зря Вы так. Практики в освоении микроконтроллеров действительно не прибавит... Ибо их тут нет по условию :-) А вот с работой ЦАПа и сдвиговых регистров человек разберется хорошо (если, конечно, будет желание) ... Вы внимаетельно читали задачу? Человеку надо вывести данные на ЦАП !!! Конечно, можно сделать как Вы предлагаете, но это уже, извините, другая область. Поэтому как раз Ваш совет можно назвать если не "вредным", то "сбивающим с пути"  Так я же не про Ваш совет высказался, а про свой! К нему и  относились. Извините, если неправильно был понят  . Во втором сообщении автора появился уточняющий термин -"задача абстрактная", а потом и LPT проявился... Цитата Объясню-ка я задачу, для которой мне все то нужно(Она довольно абстрактная). Мне нужно на компе программо генерировать случайное число и выводить его на COM-порт. От порта оно должно передаваться на ЦАП и на вольтметре должно показаться некое напряжение). А ШИМ с фильтром - это тот же ЦАП  .
--------------------
Время - материя тонкая и неточная...
|
|
|
|
|
Jun 21 2007, 21:01
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(ALexx @ Jun 21 2007, 11:02)  Все верно, работать будет, только обращу внимание на наличие защитных диодов в приведенных Вами схемах бутлоадера и ПониПрога. Оные диоды отсутствуют в предложенной Вами схеме со сдвиговыми регистрами. Зато там присутствуют 74HC14. Которые уже имеют оные защитные диоды на входах. И 74HC к "тиристорному эффекту" не склонна. И при выбранных номиналах токоограничительных резисторов никаких проблем вызвать не может. Нет, в принципе-то может быть звон в линии, вызывающий паразитное тактирование, поэтому по-хорошему согласующую RC-цепочку я бы поставил... Цитата(Mike18 @ Jun 20 2007, 18:11)  Если задача поставлена так, что требуется просто вывод на внешний вольтметр некоторого "случайного", но прогнозируемого напряжения и временные рамки фиксации или обновления его значения не критичны, то можно обойтись простым включением пассивного НЧ фильтра на один из выходов COM порта (RC цепочка - один резистор и один конденсатор). При этом программа должна посылать на выбранный выход непрерывный поток данных реализующий режим ШИМ. Тогда уж именно данные через TxD. Гоним блок из 128 байтов - имеем PWM 115200 (ну не то чтобы совсем "честный", но старт-стопные биты мешать не должны), 10 битов.
Сообщение отредактировал rx3apf - Jun 21 2007, 21:03
|
|
|
|
|
Jun 22 2007, 04:08
|
Знающий
   
Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063

|
Цитата(muravei @ Jun 20 2007, 17:13)  Если 8 , то можно ничего не делать - купить несколько резисторов R-2R поточнее , напаять на выходы преобразоателя и наслаждаться. Можете уточнить? Куда и чего в СОМ-порту паять?C порта выходит цифра, а не аналог.И куда все это присоединить к ЦАПу?
|
|
|
|
|
Jun 22 2007, 09:15
|
Участник

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

|
Цитата Вот такую примерно простенькую схему преобразования сигналов COM-порта в параллельную шину могу предложить. Сигнал DTR управляет входом последовательных данных SER,сигнал RTS управляет входом синхронного тактового входа SRCLK,сигнал TXD управляет входом синхронной защелки выходных сигналов RCLK.Нужно реализовать временную диаграмму синхронной записи 16-битного слова. Для защелкивания этого слова нужно передать через COM-порт любой байт на любой скорости, но желательно что-то типа 0x00. Естественно перед записью следующего 16-битного слова нужно дождаться когда передача этого байта закончится. Для контроля этой передачи можно соорудить "эхо", соединив 2 и 3 выводы разъема DB9F.P.S. схема прошла конвертацию в PCAD2004, поэтому уж не обессудьте за ее качество. Вообще тема! Спасибо большое! А не могли бы вы скинуть схемку из PCAD? Цитата Я бы, правда, перестраховался. Между портом и регистрами такие вот цепи поставил бы (см. рисунок) А что это за цепь?
|
|
|
|
|
Jun 22 2007, 09:39
|

Местный
  
Группа: Свой
Сообщений: 243
Регистрация: 22-09-04
Из: Burbach, Germany
Пользователь №: 704

|
Цитата(Toni Gard @ Jun 22 2007, 12:15)  А что это за цепь? Преобразователь уровня RS232 (то, что из СОМ-порта выходит) в CMOS (то, что необходимо сдвиговым регистрам) Диод обрезает сигналы отрицательной полярности, транзистор выполняет роль буфера, 74НС14 - для увеличения крутизны фронтов поучаемого сигнала.
|
|
|
|
|
Jun 22 2007, 10:23
|
Участник

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

|
А без него устройство не будет работать? Цитата Нужно реализовать временную диаграмму синхронной записи 16-битного слова То есть программно мне нужно выводить на порт сигнал в режиме синхронной передачи? А почему нельзя передавать в асинхронном?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|