Различные виды сброса в чипе ( SoC)

Я хочу знать различные виды сброса и определения в чипе. Предпочтительно Сброс, Сброс, Система, Приложение, Сброс при включении.

Также простой пример для каждого из них высоко ценится.

Благодарю.

1 ответ

Решение

Не уверен, что именно ты пытаешься понять. Сброс может и используется многими различными способами и местами. И вообще нет правил, которые бы указывали когда и где их можно использовать.

Относительно скорости, с которой электричество протекает по цепям, от момента "включения" питания до момента, когда напряжение и ток установились в пригодном для использования и стабильном состоянии, так что логика может начаться, занимает довольно много времени. Часы или осциллятор, который управляет самой логикой после включения, займет время, чтобы установить. Микросхемы, которые используют какой-то часовой множитель. Например, ваши мульти-гигагерцевые процессоры часто работают, скажем, на генераторе 100 МГц и умножаются по сравнению с тем, что находится внутри чипа. эта схема требует времени, чтобы зафиксировать тактовые импульсы генератора, а затем генерировать его умноженные тактовые импульсы. Таким образом, вы часто будете видеть глобальный сброс, логика, которая не требуется для запуска и запуска микросхемы, будет нуждаться в удержании сброса, пока все не станет достаточно стабильным, чтобы они могли работать. Это может и называется сбросом питания. Некоторая схема используется для удержания остальной части микросхемы в состоянии сброса в течение некоторого периода времени после включения питания. Есть много разных способов сделать это.

Как правило, ваше питание при сбросе используется для всей логики на плате, иногда каждая микросхема имеет свою собственную отдельную схему питания при сбросе, и, конечно, некоторые системы представляют собой смесь этих двух крайностей. Вы можете вызвать сброс, связанный с большинством логики на плате, сбросом системы. Причинение всей системы, а не только одной ее части, для сброса и / или освобождения.

Иногда вы увидите микросхемы, которые позволяют программному обеспечению стробировать глобальный сброс, опять же, очень много разных способов сделать это. Вы должны избегать очевидной проблемы с курицей и яйцом. Если программное обеспечение контролировало отключенную линию сброса путем утверждения сброса, это приведет к тому, что процессор и, следовательно, само программное обеспечение перейдут в режим сброса, не позволяя сбросить сброс. Таким образом, либо какое-либо оборудование, которое не сбрасывается с помощью соответствующего сброса, получает команду для удержания сброса в течение некоторого периода времени, а затем выпускает его. или иногда из-за того, как работает система, программное обеспечение может привести к отправке двух записей до того, как поступит первая, одна для подтверждения сброса, другая для его освобождения (это может быть программным взломом для плохой конструкции оборудования). Можно назвать это "теплым сбросом", поскольку питание уже установлено, осцилляторы установлены и т. Д., Но по тем или иным причинам желательно перевести логику в известное состояние.

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

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

Холод, являющийся противоположностью теплого, холодный сброс может быть другим способом сказать "выключение питания". выключите питание (подразумевая, что контуры / система остынет), а затем включите питание, чтобы все могло возникнуть из-за холода и снова установиться. Системы, в которых "теплый" сброс не влияет на всю систему, а только его часть, будут использовать те, в которых вы будете использовать термины "теплый и холодный". "Горячий" сброс устраняет некоторые сбои, "холодный" сброс теоретически решает больше проблем, так как "холодный" сброс теоретически сбрасывает всю систему. Но, естественно, например, если у вас есть сканер или принтер или какое-либо другое периферийное устройство, имеющее собственный источник питания, которое не обязательно будет сброшено после холодного сброса основного компьютера, вам потребуется отключить все питание и восстановить его. иногда системы спроектированы таким образом, что периферийное устройство будет перезагружаться при перезагрузке основного или холодного компьютера.

в этом нет ничего волшебного, любой блок логики, который, по мнению дизайнера, требует сброса, будет иметь сброс, насколько локальным или глобальным является сброс, является частью проекта. Чип можно считать не отличным от программного проекта, состоящего из отдельных вызовов функций и библиотечных вызовов. Языки программирования, используемые для создания современной логики, очень сильно напоминают программные проекты с программными функциями и функциями, вызывающими функции и т. Д. Основные различия состоят в том, что логика действительно работает параллельно, а во-вторых, логические функции могут, а иногда и иметь десятки или сотни параметров, где программные сегменты кода выполняются линейно, а функции, как правило, имеют умеренное количество вызовов. Каким бы желательным или нежелательным ни казался проект, использующий глобальные переменные, язык программирования предполагает, что эти глобальные переменные имеют определенное состояние при запуске программы. В C, когда происходит main(), существуют языковые правила, которые сообщают вам, в каком состоянии находятся все глобальные переменные, а также состояние всех ваших локальных элементов при входе в функцию. Вы могли бы представить места в вашем коде, где отдельные глобальные значения сбрасываются в известное состояние, x=0; у =7; и т. д., а затем их использование определяется на основе предыдущих состояний х ++; у-= г; Логика ничем не отличается, когда вы хотите вернуть что-то в известное состояние, вы предоставляете механизм для этого. Если ваш код хотел, чтобы большое количество переменных было возвращено в известное состояние, чтобы задача могла начаться заново, скажем, графическая программа завершена одним файлом, без выхода из программы она хочет освободить всю память, выделенную для предыдущее изображение, серые меню и кнопки, которые не имеют смысла, когда нет открытого файла изображения и т. д. У вас может быть одна функция, которая вызывает другие функции, которые вызывают такую ​​основную очистку. это мало чем отличается от теплого сброса. Выход из программы и повторный запуск программы мало чем отличается от холодного сброса. Состояние переменных при вводе main() и / или состояние локальных переменных при вызове функции - это состояние сброса при включении для этих переменных.

Другие вопросы по тегам