13.04.2012, 22:23
|
|
Почётный гражданин KAZUS.RU
Регистрация: 12.11.2004
Адрес: Москва
Сообщений: 8,567
Сказал спасибо: 701
Сказали Спасибо 4,335 раз(а) в 1,986 сообщении(ях)
|
Re: Proteus - глюки, проблемы с установкой
Сообщение от Halex07
|
Dok_Alex, я готов преклоняться перед "пытливым русским умом", но боюсь, что авторы Протеуса не учитывали, что кто-то додумается подавать на цифровой вход микроконтроллера синусоиду амплитудой +-5V и не просчитали Ваш вариант. Не знаю как поведет себя "железный" 16F628A с таким сигналом на RB4, выдержат входные защитные диоды или нет - я как-то тоже далек от таких экспериментов в железе, и без этого "палева" хватает, но если даже в симуляторе подавать адекватный сигнал на вход RB4 - картинка - пусть даже и медленно меняющийся (я постарался положительный импульс максимально аппроксимировать к вашей синусоиде, которая оставлена без изменений), МК ведет себя вполне прилично и никакого "дребезга" в прерываниях не наблюдается.
|
Мдя, извращенец, а прикидывался такой овечкой... Ей бо Halex, преклоняюсь, мне просто лень смотреть было...
Интересно а что тогда значительно? - Прибалтийская Пила, медленнооо и печальнооо...
Сообщение от Dok_Alex
|
Но если сигнал имеет хотя бы незначительные значения dU/dt (наклоны фронтов), то наблюдаются вторичный (глюковой) уход в прерывание как по переднему, так и по заднему фронтам, хотя сигнал по факту не имеет никаких выбросов или спадов.
|
ЗЫ а еще анекдот про японскую бензопилу вспоминается...
Последний раз редактировалось Kabron; 13.04.2012 в 22:46.
|
|
|
|
14.04.2012, 01:04
|
|
Частый гость
Регистрация: 05.10.2006
Адрес: г. Чирчик
Сообщений: 27
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Proteus - глюки, проблемы с установкой
Цитата:
|
но раз вы ввели в сигнал параметры спада и нарастания, то для процессора это уже не мгновенно изменившийся уровень а какоето постоянное напряжение которое в течении очень длительного времени (по меркам процессора) будет создавать заданное вами же условия прерывания.
|
1Dimon1, с чего вы взяли, что постоянное напряжение в течении длительного времени будет создавать прерывания??? Что за бред? Если произошло прерывание, к примеру, по переходу с нуля к единице, то второе прерывание уже произойдёт от единице к нулю. О каких задержках вы говорите? На постоянке прерываний происходить не должно, только по изменению уровня на противоположный!!!
Halex07, признаю свой схемотехнический ляп, которым всех ввёл в заблуждение, но это чисто по запаре, автоматически, хотел упростить схему, с которой наблюдал этот глюк. С кем не бывает. Ляп пропустил лишь в виду того, что урезал всю схему на максимум. Оставил только то, что касаемо самого глюка и по запаре так и оставил, так как глюк остался прежним. Ещё раз извините за недосмотр.
Теперь поехали дальше...
В реале на входа RB4...RB6 подаю синхросигналы сетевого напряжения (естественно нормализованные по уровню), сигнал - меандр. Но....Ещё раз повторю, картины это не меняет.
Вот, посмотрите, пожалуйста, с чего я начал наблюдать этот глюк, по схемотехнике всё корректно. Глюк тот же самый....
Halex07, я пробовал, как в вашем скрине, тоже исчезает, а если правый фронт (спад) двинуть правее, скажем на 1мс, и раздвинуть развёртку, сразу увидим глючок.
Но уже напрашивается вывод, что глюк связан с определёнными моделями источников.
Последний раз редактировалось Dok_Alex; 14.04.2012 в 01:49.
|
|
|
|
14.04.2012, 01:29
|
|
Вид на жительство
Регистрация: 16.09.2011
Сообщений: 343
Сказал спасибо: 10
Сказали Спасибо 171 раз(а) в 104 сообщении(ях)
|
Re: Proteus - глюки, проблемы с установкой
Сообщение от Dok_Alex
|
На постоянке прерываний происходить не должно, только по изменению уровня на противоположный!!!
|
Даташит смотрели? Параграф 17.0 ELECTRICAL SPECIFICATIONS. В пределах уверенного распознавания уровней - да. Если есть длинные фронты в зоне неуверенного распознавания уровней - могут происходить ложные непредсказуемые срабатывания. Это известно еще с дискретных ТТЛ элементов - фротны должны быть короткими, иначе - паразитные срабатывания. Контроллер целиком состоит из таких отдельных элементов.
К тому же, если в симуляции убрать отрицательную полуволну, приведя в соответствие с датащитом - глюк пропадает. В "железе" напряжение на входе не может быть меньше -0,3 В по отношению к земле. Иначе сработают защитные диоды.
Сообщение от Dok_Alex
|
В реале на входа RB4...RB6 подаю синхросигналы сетевого напряжения
|
На RB4 - ТТЛ-вход, поэтому нужен формирователь фронтов
Последний раз редактировалось Bumbarra; 14.04.2012 в 01:35.
|
|
|
Сказали "Спасибо" Bumbarra
|
|
|
14.04.2012, 03:07
|
|
Частый гость
Регистрация: 05.10.2006
Адрес: г. Чирчик
Сообщений: 27
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Proteus - глюки, проблемы с установкой
Bumbarra, спасибо за разъяснение!!! И в самом деле, здесь работает TTL.
Итак, причина, как я и предполагал по началу не в Proteuse, а в собственных ошибках.
Подобный сбой (не глюк), может произойти если фронты превышают определённые временные значения на границе перехода уровней. Теперь понятно, почему микрочиповцы в даташитах не рекомендуют вообще использовать прерывания по изменению уровней.
Хотя в данном случае лучше бы триггеры Шмидта подключали при таких прерываниях. Это расширило бы возможности применения. И честно говоря в даташите ведь нет критериев по времени. Остаётся метод проб и ошибок.
И вот теперь можно чётко сформулировать то, чего не хватает в даташитах.
Прерывания по изменению уровней следует использовать либо по цифровым входным сигналам с достаточно крутыми фронтами, либо по аналоговым, но с последующим запретом прерывания сразу после очередного, на достаточно длительный период времени, соизмеримого со временем, в течении которого может произойти дребезг входной TTL схемы в зоне порога переключения уровней.
Теперь всё предельно прояснилось, большое всем спасибо!!!
|
|
|
|
14.04.2012, 07:07
|
|
Вид на жительство
Регистрация: 16.09.2011
Сообщений: 343
Сказал спасибо: 10
Сказали Спасибо 171 раз(а) в 104 сообщении(ях)
|
Re: Proteus - глюки, проблемы с установкой
Dok_AlexМикрочиповцы все предусмотрели ![Улыбка](images/smilies/icon_smile.gif) - в этом контроллере есть же аналоговый компаратор на порту А (глава 10 даташита на контроллер) с формированием прерывания. Вход RA0/AN0 можно использовать для ввода аналогового сигнала. Внутри контроллера использовать его внутренний источник опорного напряжения. Прерывание будет формироваться в зависимости от установленного режима работы.
Последний раз редактировалось Bumbarra; 14.04.2012 в 07:10.
|
|
|
|
14.04.2012, 10:02
|
|
Частый гость
Регистрация: 05.10.2006
Адрес: г. Чирчик
Сообщений: 27
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Proteus - глюки, проблемы с установкой
Цитата:
|
аналоговый компаратор на порту А (глава 10 даташита на контроллер)
|
Bumbarra, глава 9 даташита, если точнее. А из этой главы следует, что хрен редьки не слаще. Те же самые явления в отношении зоны не уверенного уровня сигнала. По компараторам, к тому же, вы напрямую максимум два сигнала обработаете. Для моей задачи, это уже не годится, к примеру. Скажем, нужно минимум 3 аналоговых сигнала обрабатывать. Для этого вполне подошло бы использование прерываний по RB4..RB7, будь там хоть какой-нибудь гистерезис при изменении уровня.
Цитата:
|
Микрочиповцы все предусмотрели
|
Вот с этим никак не могу согласится, здесь можно поспорить. Есть множество очень не удобных для программиста моментов, которые вполне можно было бы обойти при разработке чипа. Одна пресловутая страничная память доставляет немало неприятностей (с 18-й серии только начали лечить) или вычисляемые переходы при работе в нескольких страницах памяти...
В этом МК ещё много чего есть. Я имел в виду, что коли есть функция прерываний по изменению уровня, почему бы не подключать доп. триггеры, подобно входу INT (RB0) к другим выводам. Согласитесь, это было бы значительно выгодней.
Для производства чипа это не сильно бы усложнило технологию, а для эмбеддера облегчило бы жизнь.
|
|
|
|
14.04.2012, 10:39
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Proteus - глюки, проблемы с установкой
Dok_Alex, Может стоит начать применять более новые чипы ?
__________________
Осторожно , злой кот
|
|
|
|
14.04.2012, 12:03
|
|
Частый гость
Регистрация: 05.10.2006
Адрес: г. Чирчик
Сообщений: 27
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Proteus - глюки, проблемы с установкой
Цитата:
|
Dok_Alex, Может стоит начать применять более новые чипы ?
|
Да, конечно стоит, хотя бы для того, чтобы знать новые возможности и было бы с чем сравнивать при решении конкретной задачи, или при условии, что этот выбор однозначно более выгоден. Однако, ни кому не помешает знать все тонкости и нюансы данного типа контроллера по максимуму, чтоб делать более правильный выбор, не набивая шишек по новой каждый раз.
Подобные "глюки" скорее не мешают, а помогают тем, что приходится делать подобный "разбор полётов". За это только огромное спасибо разработчикам из ёркшира. Если бы не заметил сбоя при симуляции, то не обратил бы внимания, и как следствие, в железе была бы как минимум мина, замедленного действия. А так теперь в курсе дела. И второй раз на эти же грабли уже не наступлю.
И опыт, сын ошибок трудных....(ещё Пушкин точно подметил).
|
|
|
|
14.04.2012, 13:02
|
|
Вид на жительство
Регистрация: 16.09.2011
Сообщений: 343
Сказал спасибо: 10
Сказали Спасибо 171 раз(а) в 104 сообщении(ях)
|
Re: Proteus - глюки, проблемы с установкой
Да НЕТ ЖЕ! ИМЕННО ГЛАВА 10.0 COMPARATOR MODULE !!
The comparator module contains two analog comparators. The inputs to the comparators are
multiplexed with the RA0 through RA3 pins. The on-chip
Voltage Reference (Section 11.0 “Voltage Reference
Module”) can also be an input to the comparators.
comparators.
А то, что в главе 9 - это CAPTURE/COMPARE/PWM (CCP) MODULE - то есть, можуль цифрового захвата/сравнения/широтно-импульсной модуляции.
Поэтому, во-первых, вход не цифровой, а аналоговый, поетому допустимы любые уровни в пределах Vcc и Vss. Во-вторых, в аналоговом компараторе тоже есть некоторые "колебания", но гораздо меньше, да и есть возможность выбрать режимы сравнения, при которых будет генерироваться прерывание.
Суть такова.
Порты RA0 и RA1 (либо RA3 и RA2) работают как аналоговые входы двух аналоговых компараторов. Включается и настраивается режим компараторов регистром CMCON. В нем же содержатся биты события сравнения (два старших бита - С1OUT и C2OUT). Эти биты нужно проверять программно при наступлении события прерывания. Флаг прерывания будет выставлен в регистре PIR1, бит CMIF. Не забываем разрешить прерывания от переферийных модулей битом PEIE в регистре INTCON, а так же, непосредственно битом CMIE в регистре PIE1.
Вторыми входами компараторов является источник внутреннего опорного напряжения Vref. Он управляется регистром VRCON.
Настраивай модуль так, как тебе требуется, чтобы выставлся бит CхOUT и будет тебе счастье.
|
|
|
|
14.04.2012, 15:00
|
|
Частый гость
Регистрация: 05.10.2006
Адрес: г. Чирчик
Сообщений: 27
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Proteus - глюки, проблемы с установкой
Bumbarra, дык у нас просто даташиты разные (версии)!!!
Как работает вся периферия я давно уже в курсе. Не первый год девайсы разрабатываю.
Цитата:
|
в аналоговом компараторе тоже есть некоторые "колебания"
|
Во-во, и я о том же самом... В моём алгоритме даже некоторые "колебания" всё запорят, нужно, чтоб не было улёта по неустойчивой зоне, однозначно.
Фронты могут быть значителными.
Цитата:
|
и будет тебе счастье.
|
Счястья не будет ещё и по тому, что нужно непрерывное слежение за тремя сигналами (естественно по прерываниям) и обязательно с гистерезисом. Картину омрачает только отсутствие в данном МК триггеров по RB4..RB7. Будь они там, было бы счастье. А так буду подбирать другой тип МК или же в корне менять алгоритм. Понятно же, что надёжно работать вряд ли будет, поэтому лучше отойти от этой затеи. Микрочиповцы прерывания по RB4..RB7 изначально под клаву задумывали, тыкать кнопки в самый раз под это дело, а скоростные опросы по длинным фронтам не пойдёт, ежели только доп. формирователь ставить.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:26.
|
|