roboforum.ru

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


PROTEUS вопросы

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

PROTEUS вопросы

Сообщение executer » 11 окт 2009, 00:18

Вот разбираюсь с шиной 1-Wire под WinAVR. Запарился уже шить-перешивать МК в процессе отладки :sorry: .
Решил поставить великий и могучий протеус. Для тестирования взял sample проект самого протеуса, выбрал для того МК что там стоял прошивку 1-Wire на CVAVR - она гарантированно работает (проверял на железяке тестируемой).
Для отладки собственно кода WinAVR добавил в проект еще один МК с 1-Wire датчиком...

И начались чудеса. Проц с прошивкой CVAVR работает нормально (16 МГц на обеих выставленно), а вот с WinAVR както невероятно долго - тестовое передергивание ноги без задержек заняло 10мс. Я уж и не знаю на что думать - то ли протеус симулирует HEXы от разных компилляторов по-разному, то ли у меня чтото в коде (но что там может быть, ногой просто передернуть). Может секрет какой есть когда два МК в проекте?

Осциоллограмма в приложении (на нижнем графике - видно с какой скоростью идет обмен по 1-wire на нормальном МК, а второй сверху - это передергивание ноги без задержек на WinAVR).
Проект протеуса там же.

Добавлено спустя 14 минут 41 секунду:
Удаление вспомогательного МК дела не решило

Добавлено спустя 5 минут 55 секунд:
На реальном МК все остальное кроме 1Wire нормально работает.
Вложения
test.rar
(162.67 КиБ) Скачиваний: 13
.JPG
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

Re: PROTEUS вопросы

Сообщение avr123.nm.ru » 11 окт 2009, 00:31

Наверно топик такой уже есть !

Лучше симулировать не .HEX а .COF из CVAVR и .elf из WinAVR
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: PROTEUS вопросы

Сообщение executer » 11 окт 2009, 00:33

я чесно поискал поиском "Proteus вопросы" просто на Proteus листов 6 выдало.....

У меня нету никакого elf :(
Чтото я совсем не понимаю как оно работает. С одним хексом нормально, с другим медленно :no: шож это за симуляор такой?
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

Re: PROTEUS вопросы

Сообщение avr123.nm.ru » 11 окт 2009, 01:00

Вот как получить .elf в WinAVR - http://avr123.nm.ru/04.htm

Добавлено спустя 1 минуту 15 секунд:
executer писал(а):С одним хексом нормально, с другим медленно :no: шож это за симуляор такой?

И правда диво ! Разные .hex по-разному работают. Просто чудеса в решете. Ведь все прошивки на свете должны одинаково работать. Похоже PROTEUS полный отстой, хорошо хоть платить за него не надо было.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: PROTEUS вопросы

Сообщение executer » 11 окт 2009, 01:09

Диво в том что с CVAVRовским HEX файлом отлично работает. HEX файл, на сколько я знаю, это просто набор ассемблерных комманд без указания на компилятор, комментарии, объем свободного места на диске и т.д. ТОЛЬКО комманды для процессора.
Вот меня и смутило то что один файл с набором комманд работает на одной частоте, а другой - на другой. Может, конечно, WinAVR какимто чудесным способом меняет частоту МК, но на макетной плате я этого не заметил.

PS: AVR123, не хотел Вас обидеть, Вы безусловно много всего хорошего делаете. И Proteus тоже хорошая прога, только я давно с подозрением к ней относился из-за всякх непоняток и того что она симулирует работу МК с тактовой частотой 10 ГГц на моем ноуте с 1.3 в реал-тайме. :) Просто пытаюсь разобратся в проблеме.
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

Re: PROTEUS вопросы

Сообщение galex1981 » 11 окт 2009, 01:19

Еще глюк протеуса есть: в любой проге с Уартом, написанной на Баскоме сообщения уарта в терминале отображаются в "левой" кодировке
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: PROTEUS вопросы

Сообщение executer » 11 окт 2009, 01:30

elf не помог :(
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

Re: PROTEUS вопросы

Сообщение avr123.nm.ru » 11 окт 2009, 01:53

Сам елф не может помочь. Он просто позволяет видеть код на Си и двигаться по коду в отладке. Поставьте точки останова и посмотрите время выполнения участков кода - выясните причину "тормозов". Можете раскрыть АСМ и увидеть что там не так.

Добавлено спустя 1 минуту 46 секунд:
executer писал(а):Proteus симулирует работу МК с тактовой частотой 10 ГГц

Это очень удобно. На таком МК вы можете сделать модель практически чего угодно - он будет гораздо быстрей в системе чем отлаживаемый МК работающий на нормальной частоте.

Добавлено спустя 3 минуты 49 секунд:
galex1981 писал(а):Еще глюк протеуса есть: в любой проге с Уартом, написанной на Баскоме сообщения уарта в терминале отображаются в "левой" кодировке
PROTEUS выводит числа на терминал не зная в какой проге они сделаны. Вы можете подключить осциллограф к линии передачи и посмотреть какие символы передаются по осциллограме.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: PROTEUS вопросы

Сообщение galex1981 » 11 окт 2009, 02:00

Авр, я уже проверял: если на CVAVR пишу тестовое сообщение в Уарт - верно выводит, на Баскоме аналогичная программа - "кракозявки" выводит. Можешь сам проверить ;)
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: PROTEUS вопросы

Сообщение executer » 11 окт 2009, 02:00

а как бы ассемблерный код просмотреть? как он по-коммандно исполняется. По правой кнопке на МК-AVR-Source code - только Си показывает, без отображения текущей операции (в проекте есть ассемблерные функции)
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

Re: PROTEUS вопросы

Сообщение avr123.nm.ru » 11 окт 2009, 02:20

Посмотри пожалуйста серединку руководства по PROTEUS - http://proteus123.narod.ru - там со скриншотами все показано и описано текстом. По правой кн. в окне исходника в меню выбирай - "дизасембли" - можешь смотреть и шагать по асму - F11

PROTEUS очень мощный инструмент и естественно надо потратить время чтобы научится им пользоваться правильно.

Добавлено спустя 2 минуты 46 секунд:
galex1981 писал(а):Авр, я уже проверял: если на CVAVR пишу тестовое сообщение в Уарт - верно выводит, на Баскоме аналогичная программа - "кракозявки" выводит. Можешь сам проверить ;)
Ты дай программу в BASCOM - я посмотрю.

Добавлено спустя 13 минут 37 секунд:
galex1981 писал(а):Еще глюк протеуса есть: в любой проге с Уартом, написанной на Баскоме сообщения уарта в терминале отображаются в "левой" кодировке


Я думаю ты приписываешь PROTEUS несуществующий глюк, а я тут ночью сижу проверяю очевидно - что PROTEUS выводит то что выходит из МК.

Просто тебе не удалось вывести символы в PROTEUS. Тебе не удалось, но при чем же тут PROTEUS ?????

========================================

Я взял пример баскома - все прекрасно выводится. Скриншоты и архив с проектами прилагаю.

А ведь ты и сам мог сделать внимательно и у тебя бы работало.
Вложения
bascom-avr-proteus-uart.rar
(22.86 КиБ) Скачиваний: 18
01.png
02.png
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: PROTEUS вопросы

Сообщение galex1981 » 11 окт 2009, 02:28

В общем разобрался в чем дело: в версии 7.5 SP3 глюк был, сейчас у меня 7.6 SP0 - глюка нет - похоже исправили
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: PROTEUS вопросы

Сообщение avr123.nm.ru » 11 окт 2009, 02:34

Ты продолжаешь ????????

У меня и есть PROTEUS 7.5 SP3

Покажи твои проекты с глюками.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: PROTEUS вопросы

Сообщение galex1981 » 11 окт 2009, 02:45

В версии 7.5 SP3 терминал выдает:

Добавлено спустя 1 минуту 59 секунд:
В версии 7.6 глюка нет
Вложения
2.JPG
1.rar
исходники
(22.34 КиБ) Скачиваний: 14
1.JPG
глюк
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: PROTEUS вопросы

Сообщение executer » 12 окт 2009, 00:23

Справедливости ради, сообщаю, у меня проблема в коде была :sorry: , ПРОТЕУС показывал как надо все.
Облажался я, мс, ms и us попутал.
Аватара пользователя
executer
 
Сообщения: 784
Зарегистрирован: 30 янв 2009, 01:24
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел

След.

Вернуться в Новичкам или основы основ роботостроения.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28