Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 27.12.2011, 22:49  
cfif11
Прохожий
 
Регистрация: 27.12.2011
Сообщений: 9
Сказал спасибо: 3
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
cfif11 на пути к лучшему
По умолчанию Протеус и система зажигания после симуляции не сохраняет настройки

Всем добрый вечер. Нужна помощь.
Перед сборкой микропроцессорной системы зажигания решил потестить ее в протеусе. Устройство работает, но немного кривовато. В контроллер через менеджер загружаються графики углов опережения зажигания, после выключения симуляции настройки пропадают. В протеусе первая симуляция, в контроллерах полный ноль, ознакомился только с устройсвом и то есть много вопросов. Прошивка и менеджер без исходников. Откуда начать копать?
Пожалуйста если возможно без сленга.
Реклама:
cfif11 вне форума  
Сказали "Спасибо" cfif11
warel (28.06.2019)
Непрочитано 29.12.2011, 07:07  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,508 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: Протеус и система зажигания после симуляции не сохраняет настройки.

Сообщение от cfif11 Посмотреть сообщение
Откуда начать копать?
С начала... Здесь все спят и видят "новогодний сон" с микроконтроллерной системой зажигания... Ни ссылки на исходную схему, ни приложенного проекта. И потом, кто такой менеджер? И почему у него должен быть исходник? Экстрасенсы отдыхают...
Halex07 вне форума  
Сказали "Спасибо" Halex07
warel (28.06.2019)
Непрочитано 29.12.2011, 23:34  
cfif11
Прохожий
 
Регистрация: 27.12.2011
Сообщений: 9
Сказал спасибо: 3
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
cfif11 на пути к лучшему
По умолчанию Re: Протеус и система зажигания после симуляции не сохраняет настройки.

Исправляю ошибку. Менеджер это программа для ПК, с помощью которой настраиваестя система зажигания (контроллер), опции, настройки и графики УОЗ, через COM порт.
Источник девайса _http://maya-auto.com
Миниатюры:
Нажмите на изображение для увеличения
Название: СХЕМА ДХ _v1.10.jpg
Просмотров: 634
Размер:	359.8 Кб
ID:	29834  
Вложения:
Тип файла: rar Графики УОЗ.rar (629 байт, 156 просмотров)
Тип файла: rar Прошивка.rar (8.4 Кб, 150 просмотров)
Тип файла: rar Проект_Proteus.rar (18.9 Кб, 177 просмотров)

Последний раз редактировалось cfif11; 04.02.2012 в 02:02.
cfif11 вне форума  
Сказали "Спасибо" cfif11
warel (28.06.2019)
Непрочитано 30.12.2011, 00:14  
cfif11
Прохожий
 
Регистрация: 27.12.2011
Сообщений: 9
Сказал спасибо: 3
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
cfif11 на пути к лучшему
По умолчанию Re: Протеус и система зажигания после симуляции не сохраняет настройки.

Обнаружил при пошаговой симуляции в протеусе, в окне "PIC CPU Program Memory" меняющийся блок данных после записи графиков УОЗ. Теперь, если я правильно нашел блок с таблицей графиков, надо этот блок заменить в прошивке??? Работать с HEX файлом не знаю как???

Менеджер к протеусу подлючаю через NULLmodem кабель с порта 2(менеджер на порт1 к которому подключен протеус.
Вложения:
Тип файла: rar Блок hex.rar (7.5 Кб, 115 просмотров)
cfif11 вне форума  
Сказали "Спасибо" cfif11
warel (28.06.2019)
Непрочитано 30.12.2011, 09:15  
Halex07
Супер-модератор
 
Аватар для Halex07
 
Регистрация: 03.05.2007
Сообщений: 2,695
Сказал спасибо: 28
Сказали Спасибо 4,508 раз(а) в 956 сообщении(ях)
Halex07 на пути к лучшему
По умолчанию Re: Протеус и система зажигания после симуляции не сохраняет настройки.

Сообщение от cfif11 Посмотреть сообщение
Обнаружил при пошаговой симуляции в протеусе, в окне "PIC CPU Program Memory" меняющийся блок данных после записи графиков УОЗ
Ну так у Вас настройки хранятся в Program Memory, ест...но они после останова симуляции сохранятся не будут. Тут нужно только превентивное изменение прошивки.
Сообщение от cfif11 Посмотреть сообщение
Работать с HEX файлом не знаю как???
Вариантов много. Можете править непосредсвенно в HEX-редакторе (WinHex или Hexworkshop), а можете воспользоваться дизассемблером:
http://www.hagi-online.org/picmicro/picdisasm_en.html
найти и отредактировать это место в ассемблерном листинге и перекомпилировать встроенным в Протеус MPASM или MPASMWIN.
Halex07 вне форума  
Эти 3 пользователя(ей) сказали Спасибо Halex07 за это сообщение:
cfif11 (06.01.2012), urecs2 (30.12.2011), warel (28.06.2019)
Непрочитано 31.12.2011, 11:14  
Bumbarra
Вид на жительство
 
Регистрация: 16.09.2011
Сообщений: 343
Сказал спасибо: 10
Сказали Спасибо 171 раз(а) в 104 сообщении(ях)
Bumbarra на пути к лучшему
По умолчанию Re: Протеус и система зажигания после симуляции не сохраняет настройки.

Нуууу, тут снаскоку то не получится - всё равно не миновать дитального изучения принципов работы микроконтроллеров на примере семейства PIC. Русскоязычная литература имеется. Писать программы можно хоть в ворде, хоть в "блокноте".
То есть, от простого к сложному - так все изучают. Иначе будет полный бардак в голове и постоянные загвоздки в отладке.
Так же, не забудь прочитать тут на форуме особенности работы с контроллерами в протеусе, дабы не путаться, что такое прошивка, исходники и обвес контроллера.
Bumbarra вне форума  
Сказали "Спасибо" Bumbarra
warel (28.06.2019)
Непрочитано 31.12.2011, 12:29  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Протеус и система зажигания после симуляции не сохраняет настройки.

Прежде, чем собирать чужие проекты, убедитесь, что разработчик живет в соседнем подъезде.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
warel (28.06.2019)
Непрочитано 31.12.2011, 18:09  
Сборисов
Прописка
 
Регистрация: 21.11.2010
Адрес: Донецк
Сообщений: 236
Сказал спасибо: 37
Сказали Спасибо 40 раз(а) в 28 сообщении(ях)
Сборисов на пути к лучшему
По умолчанию Re: Протеус и система зажигания после симуляции не сохраняет настройки.

Собрал такое, прошил контроллер НЕХом, подключил, запустил менеджер, загрузил кривые и настройки системы. Завел откорректировал в менеджере наклон ДАД и в путь.
Работает прекрасно. что не понятно пишите, помогу. А протеус там и сбоку не нужен.
ЗЫ:В схеме есть ошибки, на нее сильно не полагайтесь, первоисточник предлагает свою плату и контроллер по мощнее, дорого. По подобной схеме надо собрать автоподсос. Время, время...

Последний раз редактировалось Сборисов; 31.12.2011 в 18:12.
Сборисов вне форума  
Сказали "Спасибо" Сборисов
warel (28.06.2019)
Непрочитано 31.12.2011, 22:14  
cfif11
Прохожий
 
Регистрация: 27.12.2011
Сообщений: 9
Сказал спасибо: 3
Сказали Спасибо 6 раз(а) в 6 сообщении(ях)
cfif11 на пути к лучшему
По умолчанию Re: Протеус и система зажигания после симуляции не сохраняет настройки

Почему окно CPU Program Memory(файл OKNO_мое) у меня в Протеусе выглядит не так как в файле OKNO, и HEX в прошивке выглядит как в файле OKNO.

Последний столбик (рисует символы, а не числа и буквы) в обоих изображениях не похож на HEX из прошивки, наверно проблемы кодировки, помогите исправить отображение.
Миниатюры:
Нажмите на изображение для увеличения
Название: OKNO_мое.JPG
Просмотров: 162
Размер:	444.5 Кб
ID:	29900   Нажмите на изображение для увеличения
Название: OKNO.gif
Просмотров: 159
Размер:	58.4 Кб
ID:	29901  
cfif11 вне форума  
Сказали "Спасибо" cfif11
warel (28.06.2019)
Непрочитано 01.01.2012, 14:35  
Bumbarra
Вид на жительство
 
Регистрация: 16.09.2011
Сообщений: 343
Сказал спасибо: 10
Сказали Спасибо 171 раз(а) в 104 сообщении(ях)
Bumbarra на пути к лучшему
По умолчанию Re: Протеус и система зажигания после симуляции не сохраняет настройки

Правая колонка и не должна показывать исходный код. Исходного кода в привычном нам текстовом виде в hex-файле нет. CPU Program Memory содержит в левой колонке адрес в памяти программ, а правее - сам код исполняемой инструкции микроконтроллера, в 16-ричной системе счисления (надеюсь, знаешь, что это такое и как ее читать. на крайняк - в винде есть стандартный калькулятор с переводом систем). Только без прочтения хотябы даташит контроллера - толку от этого ровно ноль. Ибо 16-ричный код выполняемой инструкции представить в понятной нам форме без даташита один фик не получится. И вообще, без исходника кода выполнять пошаговую отладку тоже не получится.
Более наглядно - открой окошко PIC CPU -› Registers, там справа вверху будет указываться инструкция, а слева - счетчик адресов. Но опять же, толку от этого - ровно НОЛЬ!
================================================

Говоришь, что ты даже до конца не разобрался, как работает микроконтроллер? Ну вот, а хочешь чето еще отлаживать.
Если в кратце и примитивно, то микроконтроллер семейства PIC16 можно представить в виде кучи многоразрядных ячеек памяти (регистров), арифметико-логического устройства (АЛУ) и внутренней схемы управления. Ну это упрощенно говоря.
Регисты делятся на два типа - регистры (память) программ и регистры (память) данных. Они независимы друг от друга и имеют разное назначение, и шины сигналов у них разные.
АЛУ производит сложение двух многоразрядных двоичных чисел.
А схема управления включает в себя схему тактового генератора, счетчик команд PC (Program Count) и схему внутренней, так сказать, коммутации, направляющей потоки двоичных чисел внутри контроллера. Помимо этого, некоторые микроконтроллеры могут дополнительно иметь EEPROM память данных для хранения чего-нить, например, пользовательских настроек устройства или какой-нить таблицы данных, типа как у тебя таблица углов опережения зажигания.

Память программ - энергонезависимая, программируемая при "прошивке" контроллера, а в процессе нормальной работы из нее возможно только чтение (иначе кердык программе, типа как вирус самоуничтожения, потому вшитая прога не должна изменяться во время нормальной работы контроллера). Эта память представляет собой некий блок многоразрядных регистров (в семействе PIC16 - 14-разрядные). Каждый регистр имеет свой порядковый номер - адрес регистра, он записывается в 16-ричном виде, совокупность адресов называется адресным пространством. Микроконтроллеры различаются по размеру этого пространства, то есть, по доступной для хранения программы памяти.
То, что хранится в каждом регистре программ, называется инструкцией микроконтроллера. Инструкция - это типа команда, че делать контроллеру. Ну то есть, собственно, та самая вшитая в контроллер программа, вернее, одна строчка из нее. В регистре она хранится в двоичном 14-разрядном виде, старшие биты содержат зашифрованный код инструкции, младшие - операнд, ну это типа некое число, которое например суммируется в АЛУ с числом из регистра данных.
Инструкции исполняются за 4 такта тактового генератора, при этом изменяется значение счетчика команд, а следовательно, обеспечивается поочередное прочтение инструкций из регистров программ с адресом, указанным в счетчике.
При запуске контроллера внутренней схемой устанавливается счетчик команд в значение 0000 (бывает и иначе) и читается первая инструкция с адреса 0000, дешифруется и исполняется, потом вызывается следующая инструкция из регистра с адресом, указанным в счетчике команд (PC). Счетчик команд, как правило, увеличивается на 1 и инструкции выполняются по порядку следования адресов (но может быть и иначе, если в программе это прописано специальными командами перехода). Дойдя до последнего адреса, контроллер вновь перейдет к адресу 0000 (на практике так не бывает, ибо программы зацикливаются командами перехода).

Память данных - эт куча регистров, так-скать, оперативной памяти. Регистры 8-разрядные. Кажному регистру назначен свой порядковый номер - адрес регистра данных, и эти адреса не надо путать с адресами памяти программ - они разные и независимые. Так же, адрес регистра данных нельзя путать с самими данными, хранящимися в регистре. Разрядность адреса - 7 бит + 2 старших бита выбора банка.
Надо сказать, что память данных разбита на 4 банка, по 127 8-разрядных регистров в каждом банке.
Из памяти данных можно произвольно читать и записывать в них двоичные числа. Память данных условно разбита на специальные регистры (они содержат двоичные числа, задающие разные режимы работы и отображающие состояние микроконтроллера, а также в этих регистрах содержатся сигналы на портах ввода-вывода) и регистры общего назначения (тут можно хранить какие-то данные в процессе вычислений).
Контроллеры также различаются размером адресного пространства памяти данных - не все банки и не все адреса могут быть реализованы физически.

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

Схема внутренней коммутации всех этих регистров данных, АЛУ и аккумулятора работает под управлением дешифрованных команд, поступающих из соответствующих адресов памяти программ..

Так вот, при написании программы можно конечно писать текст напрямую в двоичной системе счисления, прямо так, как инструкции и хранятся в регистрах программ, но это чистой воды изврат. Поэтому изобрели программы-интерпретаторы и языки программирования. Например, ассемблер. И стало очень просто писать программы - открываем в винде стандартный "блокнот" и обычными буковками, словами и цифрами пишем то, что требуется выполнять контроллеру. Разумеется, набор слов ограничен и есть правила написания - синтаксис (прям как в русском языке). Таким образом, это и есть "исходник" программы, понятный нам. А интерпретатор переводит наш исходник в двоичный вид, понятный контроллеру и прошиваемый в него.
Повторюсь, то, что ты видишь в окне CPU Program Memory - это содержание регистров памяти программ, только представлено оно в 16-ричной системе счисления. И протеус в этом окошке не может интерпретировать эти двоичные числа обратно в исходный текст программы на языке ассемблер (или другом языке). А вот в окошке Registers есть строчка Insr., интерпретирующая инструкцию, но только одну.

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

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

Ну эт вот в кратце примитивненько так по "внутренностям" контроллеров, чтобы ты представлял хотябы частично, че там происходит.
На самом деле, посложнее конечно. Есть у контроллеров и перефирия типа всяких там АЦП, ШИМ, компараторов, USART-ов и прочей лабуды вроде EEPROM. Кстати, именно туда желательно бы записывать вот эти данные по углам опережения зажигания, насколько я понимаю (я лишь мельком глянул), ведь они могут изменяться.
Этот непонятный "манагер", если я правильно понимаю, вписывает в текст прошивки свой блок в виде некоей таблицы данных? Так?
По-хорошему, енти данные вписывать бы в EEPROM, если предполагается быстрая перенастройка.
--- Ааа, походу, так и должно быть - прием через последовательный интерфейс и запись в EEPROM некоей таблицы и из программы она вызывается и читается. А вот память программ перезаписываться не должна ни в коем случае.
Есть специальная строчка в свойствах для подключения двоичного файла с данными EEPROM.

Еще раз повторяю - ЕСЛИ ХОЧЕШЬ РАЗОБРАТЬСЯ - ЧИТАЙ С ОСНОВ, МАНУАЛЫ ПО PIC (есть на русском языке) Иначе - все равно толку никакого. Если все работает, то конечно можно и не разбираться, но если вдруг что-то не так, то "без поллитры не разберешься". Конечно, читать долго и муторно, тяжело воспринимать непосвященным, но если задаться целью - разобраться можно. И тогда всё встанет на свои места.

Вот в архиве - файл проекта с подключенным дизассемблированным кодом.
Вложения:
Тип файла: zip TEST.zip (43.9 Кб, 105 просмотров)

Последний раз редактировалось Bumbarra; 02.01.2012 в 00:03. Причина: Подробное дополнение.
Bumbarra вне форума  
Эти 2 пользователя(ей) сказали Спасибо Bumbarra за это сообщение:
cfif11 (06.01.2012), warel (28.06.2019)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Proteus не сохраняет изменённый EEPROM Developer_ Proteus 28 22.06.2021 17:41
Проблема симуляции схемы в Протеусе Dtolok Proteus 5 22.01.2013 21:48
Запрет\Разрешение симуляции? woroba Proteus 3 20.09.2011 06:56
Программа симуляции датчиков Холла KirikLebedev Микроконтроллеры, АЦП, память и т.д 1 25.08.2011 11:16
AVRStudio скорость симуляции 7Fantomas7 Микроконтроллеры, АЦП, память и т.д 9 29.01.2011 19:14


Часовой пояс GMT +4, время: 16:59.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot