Сопряжение Атмеги с ЛПТ

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Сопряжение Атмеги с ЛПТ

Сообщение YS »

Почему вы (YS) указали что нужно задействовать только 4 ноги на вывод с ATtiny в LPT ?
Да, мне кажется, что в плане легкости программирования будет лучше передавать четко по полбайта.
У ATtiny24 нет ножек RxD TxD, может вы (YS) ошиблись или я опять чего-то недопнял?
Вполне возможно - я назвал МК не глядя, просто для примера, среди чего надо искать.
Сомнение вызывает только ножка у ATtiny2313 PA2 она еще и RESET - можно ли ее трогать на вывод или нет ?
При использовании ножки RESET как GPIO-ножки МК теряет возможность быть перепрограммированным с помощью ISP-программатора (остается только параллельный метод), ибо RESET входит в число сигналов ISP. В принципе, если перепрограммирование не планируется, и есть 100% уверенность в правильности прошивки (а, тем более, если есть доступ к параллельному программатору :) ), можно со спокойной душой установить fuse-бит RSTDISBL и получить еще одну GPIO ножку.
И еще, а обязательно ли для этой ATtiny2313 в моем случае (как переходника между LPT и МК) ставить ей внешний резонатор ?
Внешний резонатор имеет смысл ставить только тогда, когда есть необходимость в особо точном отсчете малых временных интервалов, а так он не нужен. Я его даже в Mega3D не ставил - UART и без него прекрасно работает.
В общем проверьте пожалуста эту схему и если не сложно, то подправьте ее как следует.
Ну, я не вижу глобальных косяков. Может, PB_EXPERT еще чего скажет...

P.S.

Следующие два-три дня меня не будет на форуме, я временно уезжаю от компа.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Реклама
rapaks
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Сб июл 10, 2010 19:50:14

Re: Сопряжение Атмеги с ЛПТ

Сообщение rapaks »

В моем случае если и будет управление в реальнмо времени то задержка не более чем 1 сек вполне сойдет, а в данном случае tiny LPT и МК как раз попадут в 1 сек. Поэтому все гораздо проще становится - я просто не буду трогать ножку RESET, а задействую эти 2 ноги.А вообще эту tiny не планирую использовать где либо еще, кроме как переходник между LPT и МК, поэтому прошить ее надо будет всего 1 раз, если ошибок не будет.

В общем подожду еще денег другой может еще чего PB_EXPERT скажет, а пока буду делать разводку и детальки закупать.
Реклама
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Сопряжение Атмеги с ЛПТ

Сообщение YS »

В моем случае если и будет управление в реальнмо времени то задержка не более чем 1 сек вполне сойдет
Тут дело даже не в длительности задержки (в Вашем случае кварц не при чем, задержка реакции определяется сложностью кода обработчика, и мне кажется, что она будет сильно меньше 1с), а в точности и повторяемости отмеряемых (если их вообще нужно отмерять) отрезков времени. Теперь по человечески. :) Если мы ставим кварц, то частота МК будет строго равна частоте кварца. В случае внутреннего генератора тактовая частота будет плавать где-то рядом из-за изменений температуры и фазы луны. И в этом случае отмерить исходя из тактовой частоты, скажем, ровно 500нс может не получиться - может получиться, скажем, 550нс, или 483нс, или что-то около того, в то аремя как для МК это будет то же количество тактов, т.е., будет меняться время между командами. Так вот, если нам жизненно важна повторяющаяся задержка ровно 500нс (1-Wire какой-нибудь), то надо ставить кварц. При этом надо сказать, что чем больший временной интервал мы отмеряем, тем незначительнее погрешность, вызванная нестабильностью тактовой частоты. В самом деле, какая нам разница, мы отмерили 1с, или 1.05с? Так что проблема существует только для малых интервалов, сравнимых с периодом тактовой частоты.

На самом деле все не так страшно, и отличная работа UART на внутреннем генераторе это доказывает. Но, тем не менее, когда требуется особая стабильность тактовой частоты, рекомендуется ставить внешний кварц.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
rapaks
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Сб июл 10, 2010 19:50:14

Re: Сопряжение Атмеги с ЛПТ

Сообщение rapaks »

YS, и все такие тут есть товаризи которые упорно советуют I2C.
Набросал схемку, посмотрите ее пожалуйста - это так медупрочим, а вообще уже решил использовать промежуточную ATtiny2313.
com_usb_lpt_mk.zip
(6.01 КБ) 197 скачиваний
Пока тружусь, как будет что стоящее отпишусь.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Сопряжение Атмеги с ЛПТ

Сообщение YS »

и все такие тут есть товаризи которые упорно советуют I2C.
I2C это хорошо, I2C это замечательно. Проблема в том, что сигналы I2C на выходе LPT мы формируем программно. А на ПК обычно стоит многозадачная система (Windows, Linux... Ну, видимо, не MS-DOS во всяком случае), которая не позволит нам четко отмерять временные интервалы длительностью менее 1мс, поскольку в любой момент наш процесс может быть прерван в пользу другого. Это делает обмен нестабильным. И да, так, как нарисовали Вы, придется еще и в МК I2C программно реализовывать. По-моему, в mega8/16 выходы аппаратного I2C/SPI не совпадают с выходами UART'а...
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Реклама
rapaks
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Сб июл 10, 2010 19:50:14

Re: Сопряжение Атмеги с ЛПТ

Сообщение rapaks »

Да в ATmega8/16 ноги RxD TxD не совпадают с SDA SCL, но поскольку у меня свободны только RxD TxD ноги вот некотрые товарищи мне упорно и советовали именно этот способ и гарантировали стабильность.

YS, спасибо за разъяснения по I2C.
Реклама
rapaks
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Сб июл 10, 2010 19:50:14

Re: Сопряжение Атмеги с ЛПТ

Сообщение rapaks »

На сколько проблематичным будет сделать питание промежуточных МК от портов ?
Для Max232 от COM
Для ATtiny2313 от LPT
С USB - все ясно там 5V и так.

Т.е. на какие ножки лучше вешать питание и насколько сложно потом будет программировать со стороны портов (т.е. деражать на ножках порта напряжение) ?

LPT то дает на ножках вроде 0 -5V и там вроде не нужно вешать всяких развязок а достаточно будет просто подключить на прямую питание от МК к нужным ножкам, так ?

А COM - посложнее +-12 както нужно переделать в 5, но как?
PB_EXPERT
Потрогал лапой паяльник
Сообщения: 331
Зарегистрирован: Вс мар 30, 2008 14:31:51

Re: Сопряжение Атмеги с ЛПТ

Сообщение PB_EXPERT »

rapaks писал(а):А COM - посложнее +-12 както нужно переделать в 5, но как?
MAX232 в помощь.
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Сопряжение Атмеги с ЛПТ

Сообщение YS »

На сколько проблематичным будет сделать питание промежуточных МК от портов ?
А зачем? Чего экономим?
А COM - посложнее +-12 както нужно переделать в 5, но как?
Есть такая деталь, стабилитрон называется... А еще стабилизаторы всякие, типа 7805...
LPT то дает на ножках вроде 0 -5V и там вроде не нужно вешать всяких развязок а достаточно будет просто подключить на прямую питание от МК к нужным ножкам, так ?
Э... Но мы же с Вами вроде договорились использовать все выводы LPT по назначению? Кстати, там только в теории 5В, реально меньше - на ключах все-таки ведь что-то падает.
MAX232 в помощь.
Не, человек хочет питать МК от COM-порта. Тут достаточно стабилитрон поставить. Ну или 7805.

Честно сказать, не вижу в таком извращенном подходе особой нужды... :dont_know:
Разница между теорией и практикой на практике гораздо больше, чем в теории.
rapaks
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Сб июл 10, 2010 19:50:14

Re: Сопряжение Атмеги с ЛПТ

Сообщение rapaks »

YS вы абсолютно правильно поняли, что я хотел питать мк от портов.

Питание от COM - делать через стабилитрон - ок. Но какую ногу для этого задействовать лучше всего?

Ну а у LPT мы все равно используем не все ноги, тока 1 по 13, вот и можно было бы задействовать остальные. Но какую ногу для этого задействовать лучше всего?

А смысл всего этого в том что я хотел эти схемки запихнуть в коробчки и чтоб от них было всего 2 проводка на целевую МК.
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Сопряжение Атмеги с ЛПТ

Сообщение YS »

Но какую ногу для этого задействовать лучше всего?
А какая нога Вам больше всего нравится? :))) Ну, для COM явно не RXD и не TXD. :)))
А смысл всего этого в том что я хотел эти схемки запихнуть в коробчки и чтоб от них было всего 2 проводка на целевую МК.
Т.е., сменные переходники? Ну, дело, конечно, хозяйское... Но я бы кинул еще провод, и подтянул бы питание... Как-то надежнее так...

Варнинг! Я надеюсь, Вы понимаете, что реально при двустороннем обмене проводов будет три - RXD, TXD и GND. Земли устройства и порта обязательно должны быть соединены (на схемах это обычно не указывают, полагая очевидным)! В противном случае, очевидно, устройство просто не поймет уровень, т.к. не от чего будет его измерять, поскольку земли-то разорваны - связи не будет.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6312
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Сопряжение Атмеги с ЛПТ

Сообщение Jack_A »

YS писал(а):при двустороннем обмене проводов будет три - RXD, TXD и GND. Земли устройства и порта обязательно должны быть соединены

Если не нужен полный дуплекс, и подчиненное устройство имеет собственное питание, и очень жмет количество проводов, я бы обошелся двумя : земля и коммутируемый Rx - Tx, как в "таблетках" домофонов. Ну, не совсем как в "таблетках" - у тех еще и питание на слейв подается, так что - еще проще.
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Сопряжение Атмеги с ЛПТ

Сообщение YS »

земля и коммутируемый Rx - Tx
Реализация коммутации приведет к усложнению схемы. Зачем ставить дополнительные элементы, если можно просто кинуть еще один провод? :dont_know:
Разница между теорией и практикой на практике гораздо больше, чем в теории.
rapaks
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Сб июл 10, 2010 19:50:14

Re: Сопряжение Атмеги с ЛПТ

Сообщение rapaks »

Нужен именно полноценный двухсторонний обмен данными (дуплекс).

Да, планируется что-то типа сменных переходников под разные порты, хотя может это будет и 1 большой переходничек сразу на все порты.

Все уже продуманно: 2 проводка для общения (RxD TxD) + оплетка, которая и будет на земле.


А стабилитрон каким номиналом на СOM ставить чтоб получить +5V из 12V ? А точно ли стабилтрон ставить, может все же понижающий преобразователь напряжения ?
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Сопряжение Атмеги с ЛПТ

Сообщение YS »

А стабилитрон каким номиналом на СOM ставить чтоб получить +5V из 12V ?
Как Вы думаете, на какое напряжение надо взять стабилитрон, чтобы получить 5В на нем? :)))

ИМХО поставить 78L05 и забыть о проблеме. Только защитить ее диодом, а то при подключении, до того, как программа инициализирует порт, там ведь и -12 относительно земли может быть...

И все же, я бы протянул отдельное, нормальное питание...

Ибо могут начаться проблемы, в частности с LPT. Реально у него на выходе что-то около 4В, плюс что-то упадет на ключах самого МК, и в итоге уровень на линии RXD/TXD может получиться близким к неоднозначному - передача станет нестабильной. А у COM, вообще-то, по стандарту, напряжение может быть по модулю от 3 до 12В... И если оно будет ниже 7В, что часто встречается в переходниках COM-USB, питающихся прямо от USB-разъема (вдруг какой-то уникум догадается подключить устройство к переходнику USB-COM? Да, Ваш девайс изначально может подключаться по USB, но на земле встречаются самые неординарные люди), переходник просто не заработает... Так что, я за отдельную линию нормального питания - это совсем не сложно, зато в перспективе избавит от возможных проблем и трудноуловимых глюков.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
rapaks
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Сб июл 10, 2010 19:50:14

Re: Сопряжение Атмеги с ЛПТ

Сообщение rapaks »

YS писал(а):
переходниках COM-USB, питающихся прямо от USB-разъема (вдруг какой-то уникум догадается подключить устройство к переходнику USB-COM? Да, Ваш девайс изначально может подключаться по USB, но на земле встречаются самые неординарные люди), переходник просто не заработает... Так что, я за отдельную линию нормального питания - это совсем не сложно, зато в перспективе избавит от возможных проблем и трудноуловимых глюков.
Однако, весомый аргумент.

Не люблю толстые кабеля, но видимо прийдется еще еще 1 проводок протянуть :)
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Сопряжение Атмеги с ЛПТ

Сообщение YS »

Не люблю толстые кабеля, но видимо прийдется еще еще 1 проводок протянуть
Да ладно, разве четыре провода - толстый кабель? :)

Вообще, электрические параметры портов, бывает, на разных машинах отличаются. На обмене данными это не сказывается (поскольку нагрузка в штатном режиме почти нулевая), а вот отбор мощности, пусть даже такой мизерной, какую потребляет МК, может привести к самым непредсказуемым эффектам. Поскольку питание устройства прямо от порта противоречит стандарту (естесственно, исключая те случаи, где это явно предусмотрено спецификацией, например, USB), такой подход может привести к самым трудноуловимым глюкам и косякам. Лучше обезопасить себя и протянуть еще провод. :)

Кстати, если это промышленное оборудование, я бы взял плоский шлейф, и все линии для помехоустойчивости разделил бы земляными проводниками. Т.е., VCC-GND-TXD-GND-RXD-GND, как-то так.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6312
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Сопряжение Атмеги с ЛПТ

Сообщение Jack_A »

YS писал(а): Реализация коммутации приведет к усложнению схемы. Зачем ставить дополнительные элементы, если можно просто кинуть еще один провод? :dont_know:
Ну, если можно, то конечно.
Рассказывают, что при запуске Лунохода нехватило одного провода в разъеме. Обратились к гл.конструктору Бабакину. Тот велел принести схему.
-Что передается по этому проводу?
-Сигнал о том, что параметр Х не в норме.
-Что можно сделать в этом случае?
-Да ничего!
-Выбросить! Что идет по этому проводу? и т.д.

Оказалось, что абсолютно необходим только один контакт, но и то гл.конструктор подсистемы решил, что можно инфу получить другим способом.
В результате вообще этот разъем выкинули.

А у Бабакина вообще не было высшего образования. И за пульт управления Луноходом он посадил не инженеров-доцентов-испытателей, а радиолюбителей. По
его мнению, они лучше представляют, как идет связь с объектом.

Сорри за отвлечение.
Ответить

Вернуться в «Интеграция с ПК»