Перейти к содержанию
    

Хочется к ножкам PIC'а подключить реле...

Гость @Ark
У, так вы на полном серъёзе? Это грустно...

Грустно, что Ваша грусть не подкрепляется цитатами из ДШ.

Прошу.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Обязательно. Даже в этом случае, принцип тот же - "чтение-модификация-запись"

Не упорствуйте, Вы не правы.

Для "PORTA=0xFF" в фазе Q1 будет выполнено декодирование операции, в фазах Q2 и Q3 никаких действий выполняться не будет, т.к. оно не надо, в фазе Q4 в PORTA будет записано 0xff.

Фазы выполнения команд для мелких пиков подробно расписаны в каком-то ДШ типа "PIC Midrange Instruction Set".

Про "кратковременно переводит его на ..." давайте забудем как о случайной описке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хорошо, что Вы догадываетесь, что я это знаю. Давайте уж лучше я Вам разжую этот момент, как разработчик ИС, и в том числе одного из PICов.

 

Что-то не получилось пока у Вас. Я, конечно, охотно верю, что PIC-и разрабатывали именно Вы, разработчик ИС из Нью-Крыжополя, но где же обещанное разъяснение? Я хотел понять, как Вы снимали нагрузочную характеристику и получили вышеприведенные цифры.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что-то не получилось пока у Вас. Я, конечно, охотно верю, что PIC-и разрабатывали именно Вы, разработчик ИС из Нью-Крыжополя, но где же обещанное разъяснение? Я хотел понять, как Вы снимали нагрузочную характеристику и получили вышеприведенные цифры.
Про использованные значения Вам уже сказали, зачем мне повторяться?

А Вы поступаете не корректно по отношению к собеседнику, пытаясь исковеркать его слова в свою "пользу". Это называется "шельмовать". Да и объяснил я достаточно понятно. Для специалиста.

Если что-то нужно конкретное, - спросите. Если Вам нужны графики зависимостей - спросите, найдите в документации или снимите сами.

Время, проведённое мной в разделе "в помощь начинающему", стало ассоциироваться с пребыванием в какой-то секте агрессивных дилетантов. Уж не обессудьте. Нормально здесь лишь пара человек общается. Пожалуй, не надо мне мешать людям постигать тонкости электроники. Они сами всё знают и умеют. И это прекрасно! :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для "PORTA=0xFF" в фазе Q1 будет выполнено декодирование операции, в фазах Q2 и Q3 никаких действий выполняться не будет, т.к. оно не надо, в фазе Q4 в PORTA будет записано 0xff.

 

Точно не знаю, выполняется ли чтение при PORTA=0xFF. Я почему-то думал, что все равно выполняется чтение, но результат чтения не используется. Возможно, Вы более точно описали процесс. Но хочу отметить, что есть менее очевидный случай. А именно, когда вы заносите , например, единицу в разряд порта. Т.е. выполняете, например, операцию BSF PORTB,5 . В этом случае производится чтение (всего) порта, модификация бита, а потом обратная запись. Очень тонкое место, хоть и кажется все вполне очевидным. Я как-то потратил несколько дней на вылавливание побочного эффекта от этой операции. Дело было в том, что перед этим я устанавливал в единицу нулевой разряд порта В (BSF PORTB,0). Этот нулевой разряд порта работал на значительную емкостную нагрузку(кажется, затвор мощного мосфета), поэтому он некоторое время не мог выдать на выходе полноценную логическую единицу. А следующая команда была как раз BSF PORTB,5. При ее выполнении читалось состояние на выводах порта, а там еще был ноль в нулевом разряде (емкость не успела зарядится). И получалось, что я второй командой (BSF PORTB,5) сбрасывал в ноль выход нулевого разряда! Т.е. вторая команда "отменяла" первую.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
Для "PORTA=0xFF" в фазе Q1 будет выполнено декодирование операции, в фазах Q2 и Q3 никаких действий выполняться не будет, т.к. оно не надо, в фазе Q4 в PORTA будет записано 0xff.

Конечно, это логично выглядит. Однако во всех ДШ, включая мануал DS33023А, имеет место следующее утверждение:

Все операции записи в порт выполняются по принципу "чтение-модификация-запись"...

Исключения для каких либо видов записи не названы. Кому верить? Вам или все-таки Микрочипу?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Однако во всех ДШ, включая мануал DS33023А, имеет место следующее утверждение:

...

Исключения для каких либо видов записи не названы.

Угу. Однако там нигде не сказано, что "в процессе чтения порта, PIC кратковременно переводит его на вход". Чтение производится при неизменном состоянии регистра ТРИЗ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Про использованные значения Вам уже сказали, зачем мне повторяться?

А Вы поступаете не корректно по отношению к собеседнику, пытаясь исковеркать его слова в свою "пользу". Это называется "шельмовать". Да и объяснил я достаточно понятно. Для специалиста.

Если что-то нужно конкретное, - спросите.

 

Хм, да нет, спасибо. В третий раз, что ли? Спрашивал вполне конкретно.

Мне уже всё ясно. Похоже, тут и правда все собрались, чтобы сплести заговор против Специалиста...

И вопросы задают исключительно чтобы скомпрометировать, и слова перевирают "в свою пользу"...

Больше не буду.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark

Еще раз, по первому утверждению. Даташит на PIC12F6XX, перевод DS41190А. Раздел 10.1:

Любая команда, которая определяет регистр памяти данных как часть команды, выполняется по принципу "Чтение-Модификация-Запись". Сначала выполняется чтение регистра, изменяются данные, а затем результат сохраняется в регистре назначения (). Чтение выполняется даже, если производится только запись данных. Например, команда CLRF GPIO прочитает состояние выводов GPIO, сбросит все биты и запишет результат обратно в GPIO. Этот пример позволяет устранить условие несоответствия и сбросить флаг GPIF.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хм, да нет, спасибо. В третий раз, что ли? Спрашивал вполне конкретно.

Мне уже всё ясно. Похоже, тут и правда все собрались, чтобы сплести заговор против Специалиста...

И вопросы задают исключительно чтобы скомпрометировать, и слова перевирают "в свою пользу"...

Больше не буду.

Вы просто еще раз сшельмовали, вещая про "заговор". Может, Вам это и не заметно.

А по факту - грозились мне что-то разжевать, а выдали нечто невнятное про какой-то религиозный генератор тока, которого нет.

Да, уж лучше не влезайте. Пока! И я покину это прекрасное место с чистой душой. :)

 

Еще раз, по первому утверждению. Даташит на PIC12F6XX, перевод DS41190А. Раздел 10.1:
Чтение неразрушающее, модификация - в АЛУ\аккумуляторе, перезапись - в течении долей нс. Очень просто и понятно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Какие баталии в выходные я пропустил :) . Немножко скажу из своего опыта использования разных PICов 12 и 16 серий. Превышать выходные токи разрешенные производителем - это правило плохого тона. Если он не нормирует ток в импульсе, значит считаем что ток в импульсе не должен превышать постоянный. Если не хватает выходного тока, то ножки в пределах одного Porta можно объединять. Я так делал не на одной сотни штук изделий, а может быть и тысяч. Т.к. точного тиража не знаю. О проблемам мне не сообщали. Правда могут ли объединенные выходы в результате какого-нибудь сбоя оказаться один в нуле, другой в единице и какая этого вероятность я не знаю. Как уже здесь не раз писали, надо посмотреть питание осциллографом, т.к. при таких токах оно прилично скачет.

Выходы PICов точно не являются источником тока 25 мА. Поэтому надо ставить токоограничительные резисторы.

Все мои устройства ловят переход через ноль 220В, поэтому я сделал так. Через резистор 680кОм подаю на вход PICа 220В. Защитные диоды ограничивают напряжения на входе. Защитные диоды какие-то хиленькие, поэтому если есть возможность, то их лучше замыкать полевиком. Также это помогло однажды в случае использования АЦП. Пришлось вход перехода через 0 делать выходом на время преобразования АЦП иначе у него возростала ошибка преобразования.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Исключения для каких либо видов записи не названы. Кому верить? Вам или все-таки Микрочипу?

Мдя, был неправ - уже забылось. В регистровых операциях в Q2 всегда читается источник, в Q3 - при необходимости выполняется модификация, в Q4 - запись в приёмник.

(у меня почему-то осталось ложное воспоминание, что, когда источник - W или литерал, и операция не требует модификации данных, достаточно Q1 и Q4).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость @Ark
Угу. Однако там нигде не сказано, что "в процессе чтения порта, PIC кратковременно переводит его на вход". Чтение производится при неизменном состоянии регистра ТРИЗ.

Да, действительно. Переключение на вход не происходит. Нигде в документации этого нет. Выходной каскад порта при таком чтении не отключается. В свое время кто-то ввел меня в заблуждение, а я не удосужился проверить. Теперь буду знать. Спасибо.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я тоже предполагал, что при записи целого байта в порт чтения-модификации-записи не происходит. (Видимо, осталось из опыта использования 51-й микроЭВМ.) Но в ДШ об этом не написано. Наверное, происходит в любом случае, для простоты реализации.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выходы PICов точно не являются источником тока 25 мА. Поэтому надо ставить токоограничительные резисторы.

 

Результаты натурных испытаний (PIC16F877A):

 

Коротыш логической единицы на землю: ток 26.8 мА

Коротыш логического нуля на питание: ток 58 мА

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...