roboforum.ru

Технический форум по робототехнике.

Proteus проблема с Atmega 16 и MAX232

Proteus проблема с Atmega 16 и MAX232

bondik » 29 янв 2011, 13:55

Собственно делаю небольшой проектик.Решил протестировать схему в протеусе.Использую виртуальный ком порт.Отсылаю нормальные символы ,а приходят какието непонятные кракозябры.Соединял в протеусе на ком порте RX TX,работает нормально,что отслаю в терминале то и приходит.Скорость 9600Бодов.Мега на частоте 16МГц
Скрин схемы:
Безымянный.png

Скрин терминала(отправляю символ 'B'):
Безымянный1.png

Помогите пожалуйста разобраться.Схема протеуса и проект CodeVisionAVR в архиве.
usart.rar
(47.42 КиБ) Скачиваний: 0

Re: Proteus проблема с Atmega 16 и MAX232

Radist » 29 янв 2011, 17:10

RX с TX в компорту не перепутаны? В железе косяков не видно. Можете подключить виртуальный осциллограф? Он точно поможет.

Re: Proteus проблема с Atmega 16 и MAX232

bondik » 29 янв 2011, 19:35

Не перепутаны.Осцилографом посмотрел тоже вроде все норм,я вот думаю может частоты не хватает на передачу,у меня передача зацикленна.А что самое парадоксальная,в цикле делаю задержку в одну секунду и компонент в протеусе "ком порт" ошибку выдает :shock:

Добавлено спустя 27 минут 38 секунд:
Вообщем вопросов все больше.Заместо МК я подключил виртуальный терминал протеусе и с компа на него слал символы.Тоже были кракозябры.Но потом я в протеусе в настройках терминала поставил галку RX TX inverted.
И все сразу стало нормально.
Так спрашивает какого ... РХ ТХ конвертированы,и это только так протеусе или в железе тоже???

Re: Proteus проблема с Atmega 16 и MAX232

Radist » 29 янв 2011, 20:13

лог 0 ттл лог 1 ттл лог 0 СОМ лог 1 СОМ
0 +5 +12 -12

Re: Proteus проблема с Atmega 16 и MAX232

dccharacter » 29 янв 2011, 21:12

Я мож криво как-то смотрю, но посмотрел уже три раза, глаза лезут на лоб, надеюсь мне кажется.

Путь сигнала от компа: TXD->T1OUT(пум, затык)->T1IN->TXD
Путь сигнала от МК: RXD->R1OUT->R1IN->RXD

Т.е. и комп и МК усердно пихают биты в одну и туже линию, а из другой линии оба же ждут изо всех сил пакетов каких-то.....

Re: Proteus проблема с Atmega 16 и MAX232

bondik » 30 янв 2011, 00:34

Нет,почему все правильно по поводу подключения.Я просто понять не могу откуда это инвертирование берется
Да,и еще на этих ножках в протеусе у макс232 кружочку нарисованы ,что значит инвертирование :shock:

Добавлено спустя 15 минут 51 секунду:
нашел небольшую статью http://www.radioprog.ru/?page=25,там написано
Однако, стоит обратить внимание, что MAX232 содержит логические инверторы, и поэтому полярность RX/TX виртуального терминала должна быть изменена на отрицательную, чтобы схема моделировалась должным образом.

И опять же возникает вопрос,это только в протеусе так,или и в железе?

Re: Proteus проблема с Atmega 16 и MAX232

avr123.nm.ru » 30 янв 2011, 00:37

Соедините без макса. терминал в PROTEUS напрямую работает.

Re: Proteus проблема с Atmega 16 и MAX232

bondik » 30 янв 2011, 00:41

Соединял,все работает отлично.Но я это в железе собирать буду и мне очень важно в реальности выходы тоже инвертируются или нет.

Re: Proteus проблема с Atmega 16 и MAX232

dccharacter » 30 янв 2011, 00:46

Ну как все правильно-то? Объясните мне кто-нибудь, если все действительно правильно, то почему оно правильно?

Тх - это ПОСЫЛАЮЩИЙ ПИН. Рх - ПРИНИМАЮЩИЙ. Вы с двух устройств пихаете сигнал в одну и ту же линию - ну как так можно?

Re: Proteus проблема с Atmega 16 и MAX232

bondik » 30 янв 2011, 00:51

dccharacter Нет,блин почитайте схемы уже собранных устройст.А я наконецто понял =) Огромное спасибо Radist,я только сейчас нашел что приемник компа тоже инвертирует,а так как у меня через виртуалку два порта,значит у меня не двойная инверсия , а тройная.Огромное спасибо Radist.

Re: Proteus проблема с Atmega 16 и MAX232

dccharacter » 30 янв 2011, 00:58

Йолки, правда похоже. Открыл COMPIM demo, там тот же бред. Извини, bondik.

Re: Proteus проблема с Atmega 16 и MAX232

forastr » 15 мар 2011, 16:28

2 bondik: А как ты исправил чтобы в proteus заработало?


cron
Rambler\'s Top100 Mail.ru counter