|
Полярность RESET, Почему в разных семействам по-разному |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 19)
|
Apr 20 2007, 13:38
|

Участник

Группа: Участник
Сообщений: 73
Регистрация: 23-12-05
Из: Украина Днепродзержинск
Пользователь №: 12 599

|
Цитата(RomanRom @ Apr 20 2007, 11:41)  Активный уровень сигнала сброса у AVR, PIC, Cygnal - низкий. В семейстсве MCS51 - высокий. Вопрос - связано ли это с повышением помехоустойчивости (как у ТТЛ-входа) или что-то другое? В 51 сериии вход reset использовался для перевода кристалла в пониженное энергопотребление помимо своего основного назначения ,при этом на входе поддерживалось напряжение питания,а само питание с контроллера отключалось.При этом содержимое памяти оставалось неизменным.
|
|
|
|
|
Apr 21 2007, 19:57
|
Местный
  
Группа: Участник
Сообщений: 231
Регистрация: 14-02-05
Пользователь №: 2 635

|
Подробнее. 1) Исходные данные – исторически первыми появились контроллеры MCS51 со сбросом высоким активным уровнем. Как выяснилось, это была технологическая необходимость. Затем все изготовители перешли на КМОП и сброс почему-то массово стал не высоким, а низким уровнем. Ведь можно было бы оставить высокий, хотя бы для единообразия? 2) Теперь данные на AVR из Datasheet – по входу RESET напряжение нуля=0,1 от VCC, а напряжение единицы=0,9 от VCC. Вопрос – какая разница для помехи прыгнуть вверх от нуля до 0,9 VCC или прыгнуть от питания вниз до 0,1 VCC? То есть получается, что можно RESET было делать и низким, и высоким, но почему-то фирмы выбрали именно низкий уровень.
|
|
|
|
|
Apr 21 2007, 22:35
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(RomanRom @ Apr 21 2007, 22:57)  Вопрос – какая разница для помехи прыгнуть вверх от нуля до 0,9 VCC или прыгнуть от питания вниз до 0,1 VCC? То есть получается, что можно RESET было делать и низким, и высоким, но почему-то фирмы выбрали именно низкий уровень. Активный уровень сигнала RESET не позволяет стартовать управляющей программе, неконтролируемое выполнение которой может привести к аварии всего устройства в котором применяется данный МК и/или запортить содержимое Flash/EEPROM. Обычно на вход RESET подают сигнал от супервизора питания (при отсутствии встроенного BOD/BOR), который снимает активный сигнал при достижении величины питания рабочего уровня или наоборот устанавливает активный уровень при снижении питания ниже нормы. Теперь встречный вопрос: как по-вашему, какой активный уровень проще сформировать при снижении/нарастании питания, от которого работают оба - и МК и супервизор?
|
|
|
|
|
Apr 21 2007, 23:59
|
Частый гость
 
Группа: Новичок
Сообщений: 173
Регистрация: 3-09-04
Из: Moscow
Пользователь №: 595

|
Цитата Теперь данные на AVR из Datasheet – по входу RESET напряжение нуля=0,1 от VCC, а напряжение единицы=0,9 от VCC. Вопрос – какая разница для помехи прыгнуть вверх от нуля до 0,9 VCC или прыгнуть от питания вниз до 0,1 VCC? Вы, мне кажется, немного не так поняли данные ДШ. Вот, например, по ДШ мега48 пороговое напряжение Vrst срабатывания сброса может находиться в пределах от 0.2 до 0.9 Vcc, и "прыгать" придётся не до 0.2 Vcc, а ближе. И гистерезис там, скорее всего, порядка 0.1 вольта, как на остальных ножках. А вот для борьбы с помехами сделана задержка срабатывания - линия должна удерживаться ниже Vrst в течение примерно 2 мкс.
Сообщение отредактировал CD_Eater - Apr 22 2007, 00:01
|
|
|
|
|
Apr 22 2007, 18:48
|
Местный
  
Группа: Участник
Сообщений: 231
Регистрация: 14-02-05
Пользователь №: 2 635

|
Еще одна вводная (разные контроллеры имеют разные уровни) 0,1-0,85 VCC ATmega325 0,2-0,85 VCC ATmega162 0,1-0,9 VCC ATmega 8 0,3-0,85 VCC AT90S2313 0,2-0,8 VCC PIC16F
В части супервизоров. Технически нет большой разницы, какой уровень сделать внутри супервизора (контроллера) активным - низкий или высокий. Существуют микросхемы супервизоров и мониторов питания и с низким, и с высоким, и с обоими сразу.
Начальный вопрос у меня действительно был не о напряжениях, а о причинах, по каким разработчики разных платформ дружно исповедуют низкий уровень RESET.
|
|
|
|
Guest_=AVR=_*
|
Apr 22 2007, 19:25
|
Guests

|
Причина одна-единственная - питание начинает нарастать не сверху вниз, а снизу вверх, и для исключения зоны неопределенности на переходной период гораздо проще, естественнее и логичнее обеспечить ОТКЛЮЧЕНИЕ чего-либо (в данном случае RESETа) до достижения порога, чем ВКЛЮЧЕНИЕ чего-либо на раннем участке нарастания
|
|
|
|
|
Apr 24 2007, 12:39
|
Местный
  
Группа: Участник
Сообщений: 231
Регистрация: 14-02-05
Пользователь №: 2 635

|
Терзают смутные сомнения... 1) Рассуждения о росте питании снизу-вверх срабатывают, если контроллер работает от нуля до Uпит. По Datasheet гарантируется от Uмин до Uпит, а это не одно и то же. 2) Рассматриваю AT89C2051 и AVR. Одна и та же фирма, одна и та же технология. По RESET AT89C стоит полупроводниковый pull-down резистор 50-300 кОм, по RESET AVR - pull-up 30-80 кОм. Внутри контроллера они подключены наверное к затворам NMOS и PMOS-транзисторов и при включении питания что-то там блокируют, ожидая внешнего сброса. 3) Сигнал сброса поступает от супервизора, который состоит грубо из стабилитрона и ключа. В зависимости от типа ключа NMOS или PMOS замыкаться он будет или на общий провод, или на питание. Это справедливо тоже для диапазона питания супервизора Uмин-Uпит, который совпадает с контроллером. Рассматривать кусок от 0 до Uмин нет смысла, поскольку контроллер в нем не должен функционировать. 4) AT89C2051 на практике устойчиво сбрасывается, цена у него малая. Не видно причин, почему он хуже (дороже, нетехнологичнее), чем AVR. 5) Нет ли в низком активном уровне RESET более простого объяснения типа патентных отличий от Intel (MCS51)?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|