Страница 1 из 2

Схемы сопряжения/управления AVR и ПК - НЕ программаторы!

Добавлено: Сб июл 10, 2010 20:56:59
rapaks
Подскажите пожалуйста, как правильно управлять МК (в частности ATmega8,16,..) через порты: LPT,COM,USB.

В инете лежит множетсво схем программаторов, но схем сопряжения маловато - замучался искать уже.

Вот что удалось найти и вопросы по ходу:
1)COM - тут инфы полно, основная часть это схемы с использованием Max232 или её аналоги. -вопросов нет!
max232_.jpg
(73.01 КБ) 1158 скачиваний
2)USB - тут тоже все более мененее нормально, хотя есть небольшое сомнение:
schematics2.GIF
(2.73 КБ) 1260 скачиваний
Можноли напрямую соединять USB и МК (как на рисунке выше) или всеже стоит использовать промежуточную дорогую микросхему FT232 ?
Какую все таки из ножек D+/D- следует сажать на VCC для управления AVR-ами (ATmega8,16, и их более новыми модификациями) ? Может обе ? (Запутался т.к. в инете все по разному делают хотя и использут при этом одинаковые кристалы, к примеру ATmega8 и сажают для нее D- на VCC).
Вот что пишет вики
Данные передаются по проводам D+ и D− дифференциально (состояния 0 и 1 (в терминологии официальной документации diff0 и diff1 соответственно) определяются по разности потенциалов между линиями более 0,2 В и при условии, что на одной из линий (D− в случае diff0 и D+ при diff1) потенциал относительно GND выше 2,8 В.[5] Дифференциальный способ передачи является основным, но не единственным (например, при инициализации устройство сообщает хосту о режиме, поддерживаемом устройством (Full-Speed или Low-Speed), подтягиванием одной из линий данных к V_BUS через резистор 1,5 кОм (D− для режима Low-Speed и D+ для режимов Full-Speed и High-Speed.).
Так как быть?


3)LPT - тут увы ничего не нашел, собственно в этом и есть суть вопроса. Нужна схема простая и не очень для управления МК через этот порт (не путать с программатором!)
Хотелось бы чтобы МК общалось через LPT только по 2м ножкам RxD и TxD - как такое реализовать ?



Если вам интересно знать зачем мне это нужно, то вот зачем:
Мне нужно иметь возможность дрыгать ножками МК через все эти порты и считывать их состояние.

Re: Схемы сопряжения/управления AVR и ПК - НЕ программато

Добавлено: Вс июл 11, 2010 01:03:35
Секретный кот
Целого специального форума для этого вопроса не хватило? :shock:

Re: Схемы сопряжения/управления AVR и ПК - НЕ программато

Добавлено: Вс июл 11, 2010 10:19:37
uk8amk
rapaks писал(а): 3)LPT - тут увы ничего не нашел, собственно в этом и есть суть вопроса. Нужна схема простая и не очень для управления МК через этот порт (не путать с программатором!)

Хотелось бы чтобы МК общалось через LPT только по 2м ножкам RxD и TxD - как такое реализовать ?
Аппнот AVR325 High-speed Interface to Host EPP Parallel Port. Я пробовал: пару сотен килобайт в секунду на старом компе выжать реально.

Про две ножки, хм, не для этого LPT был создан...

Re: Схемы сопряжения/управления AVR и ПК - НЕ программато

Добавлено: Вс июл 11, 2010 11:08:28
rapaks
Секретный кот писал(а):Целого специального форума для этого вопроса не хватило? :shock:
Я тут новичек, поэтому не сразу заметил раздел нужный, а когда заметил то было поздно и хз кто тут модератор к кому обращаться чтобы тему перенесли в другой нужный раздел. Если знаете как это делается, подскажите пожалуйста.

uk8amk писал(а): Аппнот AVR325 High-speed Interface to Host EPP Parallel Port. Я пробовал: пару сотен килобайт в секунду на старом компе выжать реально.
Про две ножки, хм, не для этого LPT был создан...
Это риторический вопрос и меня не интересует для чего был создан ПК и его ЛПТ порт в частности и т.п.
Есть конкретная задача и ее нужно решить. Если знаете какую-либо полезную информацию по этому вопросу подскажите пожалуйста.


Мне нужно чтобы МК общалось с ЛПТ только по 2м ножкам (в МК это RxD | TxD) а в ЛПТ какие ? Может нужно еще чегонить присобачить к ЛПТ чтобы преобразовать к примеру его D0-D7 в 1 сигнал и еще какую-нибуль ножку его или ножки объединить и получить тоже 1 сигнал.

Суть такова, что все ноги МК заняты кроме RxD | TxD по ним МК может общаться с USB и COM, а как с заставить его это делать с LPT ?

Пока нашел только это:
1)Много ножек для сопряжения
2)Получше будет, т.к. юзают всего 4 ноги и видомо 1 можно не использовать совсем, тогда будет 3, но мне нужно чтобы они цеплялись RxD TxD а там МОСИ и МИСО СЦК - как быть ?
mega_pc_139.gif
(9.35 КБ) 564 скачивания
3)Тут вообще не понятно
scheme_generator.GIF
(10.61 КБ) 877 скачиваний

Re: Схемы сопряжения/управления AVR и ПК - НЕ программато

Добавлено: Вс июл 11, 2010 11:41:19
ARV
если вы сделаете со стороны компа программный I2C через пины LPT - это решит вашу проблему?

Re: Схемы сопряжения/управления AVR и ПК - НЕ программато

Добавлено: Вс июл 11, 2010 11:51:18
rapaks
ARV писал(а):если вы сделаете со стороны компа программный I2C через пины LPT - это решит вашу проблему?
Вообщето я новичек и в тонкостях и в тонокостях реализации аппаратной или софтварной особо не разбираюсь.

Если можно сделать аппаратно (т.е. с момощью всяких железок: микрух транзисторов и т.п.) из ЛПТ I2C (я так понимаюю это режим общения по 2м проводкам т.е. для меня как раз это будет RxD и TxD) то буду делать его, если можно сделать софтварно (т.е. на яз высого уровня типа С++) то буду на нем делать.
Но в обоих случаях нужны схемы подключения, как куда и какие ножки соединять!

Re: Схемы сопряжения/управления AVR и ПК - НЕ программато

Добавлено: Вс июл 11, 2010 12:41:48
PB_EXPERT
USB - тут тоже все более мененее нормально, хотя есть небольшое сомнение:
В этом случае, нужно будет реализовывать программную поддержку USB в контроллере.
Справитесь?

Re: Схемы сопряжения/управления AVR и ПК - НЕ программато

Добавлено: Вс июл 11, 2010 12:57:44
rapaks
PB_EXPERT с USB инфы полно, сделаем не проблема.


Подскажите решение основного вопроса с LPT портом?
Как сделать общение МК через ЛПТ по 2м проводкам RxD и TxD ? СХЕМЫ нужны !

Re: Схемы сопряжения/управления AVR и ПК - НЕ программато

Добавлено: Вс июл 11, 2010 16:39:07
kalobyte
это анальный метод и ты страдаеш херней
лпт не предназначен для передачи по 2м проводам и тем более в 2 стороны

у меги 8 есть железный и2ц и куча компиляторов имеют готовые библиотеки для работы с ним
http://www.radiokot.ru/forum/viewtopic.php?p=364293 вот тут схема
линия сда работает на прием и передачу и синхронизируется по линии сцк
есть еще специальная мс для и2ц в виде расширителя порта
ее можно повесить на лпт, но она редкая и дорогая

Re: Схемы сопряжения/управления AVR и ПК - НЕ программато

Добавлено: Вс июл 11, 2010 22:54:15
rapaks
kalobyte Не важно для чего предназначен ЛПТ и кто его придумывал.
Есть задача и нужно ее решить.


Да у мег есть И2С железный но это отдельные ножки, не RxD TxD а хотелось бы только их зайдествовать т.к. остальные будут заняты.


Ну допустим я освобожу их.
Для ATmega 8 это ножки
27 PC5 (SDA)
28 PC4 (SCL)

Для ATmega 16 это ножки
22 PC0 (SCL)
23 PC1 (SDA)

А сигнал на синхронизацию SCK полагаю не понядобится если ведущим будет ПК, а не МК.

А коли так, тогда вопрос следующий:
1)Нужны проги для управления МК через ЛПТ по И2С.
2)И простой пример прошивки скажем для ATmega8 по общению через И2С.

Re: Схемы сопряжения/управления AVR и ПК - НЕ программато

Добавлено: Ср июл 14, 2010 19:36:36
Murav
rapaks писал(а):kalobyte Не важно для чего предназначен ЛПТ и кто его придумывал.
Есть задача и нужно ее решить.
LPT - параллельный 8-битный интерфейс, так что для него задействуются 8 линий данных и ещё куча других сигналов(всего 17 линий), так что если хочешь использовать стандартные драйвера LPT, то придётся использовать почти все из этих линий.
Хотя контроллер LPT позволяет управлять напрямую сигналами, так что можно выставлять нужные сигналы на нужных выводах и таким образом эмулировать любой протокол. Только в этом режиме нет ни прерываний ни промежуточных буферов, так что либо придётся использовать посылку сигналов только от ПК(можно сделать только ответы от МК сразу после приёма команды) либо постоянно(а не забывай, что Windows - многозадачная ОС) опрашивать порт.
rapaks писал(а):Да у мег есть И2С железный но это отдельные ножки, не RxD TxD а хотелось бы только их зайдествовать т.к. остальные будут заняты.
Ну и используй COM-порт или USB-UART переходник.
rapaks писал(а):1)Нужны проги для управления МК через ЛПТ по И2С.
Проги придтся писать самому - устройств, от которых можно взять готовую программу, с таким кривым интерфейсом сейчас не встречается. В основном всё - USB или в редких случаях COM.
rapaks писал(а):PB_EXPERT с USB инфы полно, сделаем не проблема.
Ну-ну. Софтовые реализации USB для микроконтроллеров можно пересчитать по пальцам.
Хотя можно взять готовую, например v-USB для AVR.

Re: Схемы сопряжения/управления AVR и ПК - НЕ программато

Добавлено: Чт июл 15, 2010 00:48:30
kalobyte
автор, ты фимозен
лпт последовательный синхронный, а твои тхд и рхд это рс232 - асинхронный последовательный
они несовместимы аппаратно

увеличение портов на вход или выход реализуется добавлением регистров или мегой128

Re: Схемы сопряжения/управления AVR и ПК - НЕ программато

Добавлено: Чт июл 15, 2010 16:22:56
clawham
Видать человек просто не понимает что любой шнурок за 3-8 долларов от сименса s65 который втыкается в юсб содержит в себе микруху переходник юсб-уарт и уже с приемлемыми уровнями 0...5 вольт :) просто откусывается разьём для телефона и подпаиваются 3 проводка прям к процу - и УВАЛЯ....конектинг пипл ©®

Re: Схемы сопряжения/управления AVR и ПК - НЕ программато

Добавлено: Пт июл 16, 2010 00:57:28
smac
kalobyte писал(а):автор, ты фимозен
лпт последовательный синхронный...
Таки может быть параллельный синхронный?
В остальном согласен.

Re: Схемы сопряжения/управления AVR и ПК - НЕ программато

Добавлено: Пт июл 16, 2010 08:18:41
rapaks
Нашел следующие варианты:

1) Через промежуточную МК, к примеру ATtiny2313/ATmega8 которая к LPT цепляется всеми 8 ножками вход, 4 выход и 1 для синхронизации.
Достоинсва:
- На выходе только 2 внешних ноги RxD TxD
- Прошивается такая промежуточная микруха 1 раз
- Простота реализации прошивок и программирования LPT порта
Недостатки:
- Необходимость задействовать эту промежуточую МК


2) Напрямую соединить целевую МК и LPT порт через 2 ноги RxD TxD и 1 дополнительную для синхронизации
Достоинсва:
- На выходе только 3 внешних ноги RxD TxD и синхоронизирующая
- Соединение на прямую без всяких там промежуточных МК и т.п.
Недостатки:
- Сложность прошивки целевой МК
- Сложность в программирования LPT порта
- На целевой МК нужно ставить переключатели/джамперы для опознования порта (COM/USB)/LPT



Вопрос про создание и применение порта LPT - риторический!.
clawham, зачем мне покупать шнурки всякие ? - тогда ужь лучше сразу заказать нужно устройство и все!
Вы суть не поняли, важен результат (типа вот штуковина через нее можно общаться по такомуто порту), важен процесс (нужно изучить проблему с разных сторон и самому изготовить такое устройство/прошивку/и т.п. для общение через порт ПК) !

Re: Схемы сопряжения/управления AVR и ПК - НЕ программато

Добавлено: Пт июл 16, 2010 08:31:35
clawham
а чем юсб не порт ПК? вы просто сказали что пром микруха дорогая и тяжелодоставаемая а это в корне неправильно....в данный момент это самый простой доступный распространённый и лёгкий в реализации вариант связки не требующий от девелопера в принципе никаких особых знаний мудоханий с программой и так далее.....увы так сложилось исторически что LPT порты это позавчерашний век анахронизм как и RS-232 (имеется ввиду компьютеры персональные) поэтому как бы выхода нет.....кроме как использовать специализированный дляч этих целей преобразователь ЮСБ-UART
USB - нейтивный и распространённый стандарт для компьютеров КПКшек и прочих устройств
а UART это снова таки нейтивный и имеющийся в любом МК интерфейс более менее быстрого обмена данными с внешним миром притом реализованный он обычно аппаратно - тоесть вы в регистр что нужно отправить переписали и данные полетели парралельно и основная программа не тормозится на время отсылки...аналогично и приём....в тех же АВР есть прерывания позволяющие делать буфферизацию контроль чётности и так далее и тому подобное с минимальными затратамит процессорного кода
увы но это на сегодняшний день как бы стандарт :)
ну есть конечно ещё варианты RS-485 который по сути тот же USB-UART только между уарт микроконтроллера и шнурка вставлена микруха дифференциальной передачи данных(помехоустойчивость и как следствие дальность ну и возможность иметь в парралеле неограниченное кол-во абонентов :))
и всё это есть готовое...всё уже придумано до нас и применяется повсеместно
те же USB-UART переходники в китае я заказывал пачками по 100 штук по цене 2 доллара

Re: Схемы сопряжения/управления AVR и ПК - НЕ программато

Добавлено: Пт июл 16, 2010 08:33:56
ARV
я с вас фигею... кто попадает на радиокота, заражается словесным флудопоносом...
ну сказал же вам: И2Ц через LPT - элементарно! задействуется 2 провода в МК (программный И2С позволит работать с любыми ножками), 4 контакта на LPT. подключение к LPT определяется программной поддержкой со стороны компьютера: 2 вывода из линии DATA и один вывод на ввод - например, BUSY или PE (четвертый - это GND). Разумеется, поддержка И2Ц со стороны компа - программная. если память мне не изменяет, в каком-то древнем журнале Радио были статьи на эту тему с исходниками на паскале. думаю, гугл поможет элементарно.

хватит переливать из пустого в порожнее: одни критикуют советы других, давая свои дикие советы...

по делу можно сказать однозначно: через LPT протокол RS232 или иные, требующие четких временных интервалов протоколы реализовать невозможно, USB для микроконтроллеров без аппаратной реализации USB-контроллера имеют весьма ограниченные возможности. собственно, только И2Ц является доступным и элементарно реализуемым интерфейсом для любого МК - хоть тини13!

Re: Схемы сопряжения/управления AVR и ПК - НЕ программато

Добавлено: Пт июл 16, 2010 08:38:39
clawham
Это то понятно но товарищу надо сделать ещё и гальван развязку и дальность передачи(как я понял) а тот же RS-232 с TTL уровнями очень просто двумя оптронами и парой резисторов получается развязанным :)
а если уже и эмулировать SPI или I2C то эт уже ну вообще простота :) и делать это можно любым портом хоть лампочками скроллока :)
ну а если нужно быстро и 100% рабочее решение вроде как альтернатив юсб-уарт пока не придумано :)

Re: Схемы сопряжения/управления AVR и ПК - НЕ программато

Добавлено: Пт июл 16, 2010 13:51:58
rapaks
ARV, все вы пишите правильно и я вас понял с 1 вашего сообщения, а все остальные тут товарищи просто флудят.

И2С - 2 проводка на обмен данными + 1 проводок для синхронизации, земля и питание тут это отдельная песня, поэтому в сумме 3 проводка.

В предпоследнем своем сообещнии я и написал какие варианты я нашел и делаю.


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

Re: Схемы сопряжения/управления AVR и ПК - НЕ программато

Добавлено: Пт июл 16, 2010 14:09:12
ARV
rapaks, специально для вас: И2Ц - это двухпроводный интерфейс, поэтому ваши заявления "всего 3 проводка" относятся явно не к нему. трехпроводный интерфейс - это SPI, он тоже элементарно реализуется через LPT, но вы ж кричали, что свободно у вас всего 2 порта МК... кстати, и2ц и через СОМ-порт элементарно к компьютеру подключается...