Функционирование и синтез цифровых устройств. Цикл из 5 статей Практически все слышали выражение «цифровое управление» и «цифровое устройство». Многие знают, что практически все современные устройства, начиная от бытовых музыкальных центров, телевизоров или стиральных машин и заканчивая сложнейшими космическими кораблями и искусственными спутниками земли состоят из одиночных микросхем или некоторого их количества. Некоторым также известно, что микросхемы бывают разные – микропроцессоры, микроконтроллеры, логика, интерфейсные схемы и т.д. и т.п. Программисты и разработчики знают, какие разновидности микросхем и процессоров бывают, какую архитектуру они имеют, как программируются и т.п. Но далеко не все знают и понимают, как они устроены внутри, как и из чего они состоят и создаются. И речь идёт не об обобщённой грубо-примитивной функциональной схеме из даташита на ту или иную микросхему, а о том, что кроется за всем известными кубиками типа ALU, REGISTERS, ADC, стрелочками между ними и пр. Сказать что это – арифметико-логическое устройство, регистры, АЦП и т.д. – по сути, не сказать ничего. Здесь будут описаны общие вопросы синтеза и устройства цифровых устройств на базе простейших логических микросхем типа широко известных и распространённых отечественных К155 (либо их многочисленных аналогах), а также некоторые основы микропроцессорной техники и вопросы сопряжения цифровых и аналоговых схем. Хотелось бы отметить, что: 1. Практически все цифровые микросхемы и устройства могут быть синтезированы их простейших логических элементов. Исключение составляют «составные» аналого-цифровые схемы типа АЦП, аналоговых мультиплексоров, различных декодеров и пр. Такие схемы будут рассмотрены частично, без подробного анализа их аналоговых узлов. 2. Некоторые (в основном глубоко теоретические) аспекты синтеза и функционирования схем опущены либо упрощены. Это сделано сознательно, т.к. это очень обширные вопросы, на полное изучение которых в специализированных учебных заведениях отводится немало часов лекций и различных практических занятий. Более того, существует немало смежных тем, которые напрямую к синтезу не относятся, но без чёткого понимания которых тяжело что-либо сделать. Например, чтобы спроектировать аппаратный умножитель чисел, необходимо не только уметь синтезировать схемы, но ещё и знать алгоритмы умножения как такового. 3. Быстродействие устройств, синтезированных на обычных лог. элементах обычно невелико. 4. Простейшие логические элементы, типа инверторов, И, ИЛИ и пр. создаются из обычных дискретных элементов (диоды, транзисторы, резисторы). Вопросы их проектирования рассматриваться не будут, т.к. практической пользы от этого мало. Кроме того, в них нередко применяются некоторые «экзотические» детали (наиболее яркий пример – многоэмиттерные транзисторы), которые в дискретном исполнении вообще не выпускаются. 5. Почти во всех примерах статьи присутствует некоторые «практический уклон», т.е. те или иные рекомендации даются с учётом характеристик реальных микросхем. Т.о. данная статья не является 100% лекцией или «примерами» для студентов, когда те или иные задания или схемы часто лишены какого-то практического смысла и направлены лишь на усвояемость той или иной части лекционного материала. 6. Может показаться, что в наше время синтез каких-либо сложных устройств на базе примитивных лог. элементов, триггеров и счётчиков полностью себя изжил. Да, действительно, любой микроконтроллер окажется намного дешевле, а схема с его использованием гораздо быстрее, компактнее и надёжнее, нежели гора 155-х микросхем и сопутствующих им деталей, реализующих те же действия. Но, в то же время, существует немало задач, где простые логические схемы выглядят гораздо логичнее, понятнее и работают быстрее каких-либо сложных микропроцессорных структур. Кроме того, современные, широко применяемые в настоящее время микросхемы программируемой логики ПЛИС являются ни чем иным, как «набором» различных практически дискретных логических элементов и триггеров. Для полноценного использования таких микросхем необходимо в том числе чётко знать и понимать различные подходы и аспекты синтеза цифровых схем. 7. При чтении данной статьи рекомендуется держать под руками какой-нибудь справочник по микросхемам, например, 1. 8. Следует также отметить, что здесь почти не рассматриваются практические аспекты конструирования устройств на базе тех или иных микросхем, они обычно неплохо освещаются в литературе (в той же 1, например) и в статьях в интернете. 9. Подавляющее большинство приведенных здесь схем являются чисто иллюстративными. Поэтому для их реального воплощения «в железе» может потребоваться некоторая доработка (например, определение номиналов деталей, приведение к реально производящимся типам микросхем, какое-то согласование и т.д.). 10. Все предлагаемые в этой статье описания и подходы к синтезу схем и блоков не являются чем-то новым, они многократно описаны в различных учебниках для ВУЗов соответствующей направленности и различных университетских лекциях и методичках для студентов, которые можно найти в интернете. Но, по мнению автора все они, как, в принципе любое учебное пособие, перегружены массой разнообразного теоретического материала и часто привязаны к конкретным учебным программам того или иного ВУЗа. Кроме того, в них крайне мало практической информации и «переходов» от сугубо теоретических схем к их реализациям на базе промышленно выпускаемых микросхем. А университетские «раздробленность» и «разбросанность» материала по разным дисциплинам и курсам сильно затрудняют его понимание. Поэтому, в таких условиях часто возникает ситуация «за деревьями леса не видно». В силу значительной «обширности темы», повествование разделено на части: http://cxem.net/beginner/beginner104.php - Часть 1. Введение http://cxem.net/beginner/beginner105.php - Часть 2. Промышленно выпускаемые простейшие цифровые схемы http://cxem.net/beginner/beginner106.php - Часть 3. Управляющие автоматы. Принцип микропрограммного управления http://cxem.net/beginner/beginner107.php - Часть 4. Микропроцессорная техника http://cxem.net/beginner/beginner108.php - Часть 5. Сопряжение цифровых и аналоговых устройств и вопросы организации питания цифровых схем #ЦифровыеСхемы #Логика #БулеваАлгебра #Синтез #Микропроцессор #Цифра #Digital #DIY