Меню

Логическое устройство своими руками

Основы электроники для начинающих, логические схемы и алгебра логики


Основы электроники и электронных схем для начинающих. Алгебра логики и базовые операции алгебры логики. Построение таблицы истинности для робота и синтез логических схем. Реализация логических схем роботов на микросхемах стандартной логики.

Схемы роботов
Разработка схем роботов
Математические методы

Электроника для начинающих

Самые основные сведения по электронике для начинающих свой путь в мир роботов. О том как подключить питание. Как заставить крутиться электромотор. Какие выбрать батарейки. Напряжение и последовательное соединение батарей. Единицы измерения в электронике.

Рассказ о самых основных электронных деталях: резисторе, конденсаторе, диоде, транзисторе, светодиоде, фототранзисторе. Как расшифровать цветовую маркировку на резисторе. Как работают диод и транзистор. Что такое анод и катод. Что такое эмиттер, коллектор и база. Какие бывают транзисторы. Как правильно подключить светодиод к батарейке.
Электронная микросхема. Какие бывают микросхемы (сборки, аналоговые (операционные усилители), цифровые, с логическими элементами, микроконтроллеры, микропроцессоры). Виды микросхем (ТТЛ, КМОП). Типы корпусов. Где у микросхемы находится «ключ».

Основы электроники

Основные законы электроники для начинающих. Последовательное и параллельное соединение. Соединение резисторов. Как с помощью трех резисторов (1К) получить сборки с шестью различными сопротивлениями (0.33К, 0.5К, 0.66К, 1К, 1.5К, 2К, 3К). Как с помощью резисторов трех номиналов получить необходимый ряд сопротивлений. Соединение конденсаторов. Закон Ома. Что такое мультиметр и как с ним обращаться. Как измерить основные характеристики электрического тока.

Что такое сигнал? Аналог и цифра.

Операция логического умножения (конъюнкции) в алгебре логики. Обозначение логического умножения в формулах. Свойства логического умножения. Логическое умножение логической переменной на логическую константу.

Логическая операция сложения (дизъюнкция) в логической алгебре. Как обозначается дизъюнкция в логических выражениях. Свойства логического сложения. Логичекое сложение переменной и логической константы. Таблица истинности для операции логического сложения.

Основные законы алгебры логики. Законы де Моргана. Применение законов де Моргана. Следствия законов логической алгебры. Упрощение логических выражений. Примеры упрощения логических выражений. Способы, применяющиеся для упрощения логических выражений. Карты Карно. Удобная памятка с законами алгебры логики и основными следствиями.

Логические элементы

Логические элементы, реализующие базовые логические операции. Логический элемент НЕ (инвертор). Логический элемент И (умножение). Логический элемент ИЛИ (сложение). Обозначение логических элементов на логических и электронных схемах. Стандарты DIN и ANSI в обозначениях логических элементов. Комбинированыые логические элементы. Логический базис. Как получить с помощью комбинированных элементов одного вида все другие логические элементы.

Логические схемы


Логические микросхемы


Элементы автоматики


Генераторы (осцилляторы)

Мультивибратор. Генератор импульсов.
Генератор одиночных импульсов.

Триггеры

RS-триггер, D-триггер, JK-триггер.

Искусственные нейроны и нейронные сети


Nv-нейрон

Nv-нейрон, придуманный Марком Тилденом, широко применяется при проектировании простых нейронных сетей у BEAM-роботов.

Nv-networks


Nu-нейрон

Nu-нейрон, также разработанный Мароком Тилденом, один из базовых кирпичиков нейронных цепей BEAM-роботов.

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

Источник

От самоделок на логических элементах до микроЭВМ

Современная микроЭВМ — сложное устройство. Сделать ее своими руками совсем не просто. Но работа эта становится посильной даже школьникам, если сначала они познакомятся с простейшими устройствами на логических элементах и потренируются в их монтаже и наладке. В соответствии с этим авторским замыслом и построена книга. Книга, продолжающая внутрииздательскую серию «Сделай сам», предназначена ребятам среднего и старшего школьного возраста. Руководители технических вузов, Домов технического творчества молодежи и станций юных техников могут использовать ее в работе с детьми.

Часть I. 27 устройств на элементах цифровой электроники

Глава 3. Питание цифровых устройств на любой вкус
Как выбрать источник питания
Параметрический стабилизатор напряжения
Стабилизатор на операционном усилителе
Стабилизатор на специализированной микросхеме

Глава 4. Домашняя измерительная лаборатория
Логический пробник на транзисторах
Логический пробник с цифровой индикацией
Генератор одиночного импульса
Частотомер на микросхеме
Импульсный зонд
Генератор импульсов

Глава 5. Конструкции занимательные и полезные
Вызывное устройство
Электронная сирена
Указатели поворотов для велосипеда
Автомодель обретает «голос»
Цветомузыкальная приставка
Новогодняя «мигалка»
Электронная «курица»
Пробник для проверки приемника
Устройство, контролирующее питание

Глава 7. Кодирование, декодирование и распределение информации
Шифраторы и дешифраторы
Переключатели без контактов
«Электронные кубики»
Цифровое реле времени
Электронный таймер-секундомер

Читайте также:  Локальная покраска детали своими руками

Глава 8. Кладовая информации
Регистры
Запоминающие устройства
Бегущие огни
Автомат световых эффектов
Соло на ПЗУ
Музыкальная шкатулка

Глава 9. Информация по заказу
Программируемая К155РЕ3
Послушный килобит

Часть II. МикроЭВМ своими руками

Глава 12. Модуль динамического ОЗУ «ЮТ-88»
Электрическая схема
Программатор ПЗУ «ЮТ-88»

Глава 13. Программное обеспечение «ЮТ-88»
Операционная система СР/М

Приложения
1. Коды операционной системы СР/М-64
2. Коды программы СН. СОМ
3. Программа принтера
3. Словарь программиста
Рекомендуемая литература

Название: От самоделок на логических элементах до микроЭВМ
Автор: Бартенев В. Г., Алгинин Б. Е.
Издательство: Просвещение
Год: 1993
Страниц: 186
Формат: PDF
Размер: 10,08 МБ
ISBN: 5-09-002655-6
Качество: отличное
Серия: Сделай сам
Язык: русский

Скачать книгу От самоделок на логических элементах до микроЭВМ

Источник

Логические элементы для зануд

Зануд не любят, но все мы ими бываем. Мимо самоделки, сделанной родственной душой, я пройти не смог. Глядите, какая необычная.

Вначале он изготовил оптопару из светодиода и фоторезистора, после чего включил её в такую схему:

Но оптопара, конечно, громоздкая получилась. Сейчас Dr. Cockroach это исправит.

Теперь компактнее. Только свет снаружи проникать будет. В общем, не просто так люди изобрели термоусадку. Она как раз пригодится!

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

Если в этой схеме переполюсовать обычные диоды и исключить левый резистор, получится элемент ИЛИ-НЕ. Теперь, когда сами элементы разработаны, мастер задумывается о том, где их применить, и делает такую штуку:

«Доктор Таракан» проверяет её:

Работает, как и подобает RS-триггеру.

Выводы у них расположены так:

Испытания в полном разгаре, и судя по отсутствию криков и ударов кулаком об стол, всё работает как задумывалось:

На обычных логических элементах строят не только триггеры, но и мультивибраторы. На «занудных», оказывается, тоже можно. И на не-SMD-шных:


Помню, был фантастический фильм про роботов, размножающихся разборкой разных железок и сборкой из их деталей себе подобных. Очень похоже на одного из них:

Руководствуясь электрической и логической схемами, вы тоже можете повторить эксперимент мастера:

Обратите внимание, что на первой из схем Dr. Cockroach не показал индикаторные светодиоды и резистор для них.

Так работает цепь из мультивибратора и элемента И-НЕ:

И решил мастер: а не замахнуться ли ему на целый JK-триггер?

А чтобы получилось брутальнее и нагляднее, собрал всё это Dr. Cockroach из логических элементов хоть и с SMD-шными оптопарами, но на переходных платах:

Так оно работает при тактировании мультивибратором. Схема очень критична к напряжению питания.

Ну а элемент в не-SMD-шном варианте он, наоборот, сделал миниатюрным, с применением объёмного монтажа, и придал ему вертикальную форму, чтобы было похоже на транзистор:

По поведению такая оптопара тоже подобна транзистору, и не полевому, а биполярному. Ибо управляется током.

Эти логические элементы работают на низких частотах, поэтому за их работой удобно наблюдать при помощи программного осциллографа на компьютере или смартфона. Dr. Cockroach для начала попробовал теоретически рассчитать форму сигнала на выходах мультивибратора при частоте в 43 Гц и точном подборе напряжения питания:

Реальный сигнал при 19,8 Гц:

Он же, после инвертирования:

А вот что будет, если частоту увеличить до 42,2 Гц:

«Доктор Таракан» пришёл к выводу, что искажают форму сигнала паразитные ёмкости в фоторезисторе.

Но поскольку логический элемент вновь собран не объёмным монтажом.

Мастер приделал к JK-триггеру другой мультивибратор и любуется результатом:

А теперь он делится схемами элементов НЕ, И-НЕ и ИЛИ-НЕ, причём в третьем оптопара содержит два светодиода. Непонятно, правда, как это согоасуется с тем, что ранее он хотел от ИЛИ-НЕ отказаться вообще.

Чтобы управлять триггером, мастер построил неказистый, но отлично работающий пульт. На этот раз, конечно, снова всё получилось:

Читайте также:  Костюм хеллбой своими руками

Свободен от этого недостатка другой триггер, чуть более сложный. В нём снова на один и тот же фоторезистор направлены сразу два светодиода:

Чтобы у триггера был выход, «Доктор Таракан» ещё несколько усложнил схему (где теперь, наоборот, один светодиод светит сразу на два фоторезистора) и добавил инвертор:

Снова всё работает:

Ну вот, на вход поступают длинные импульсы, на выходе получаются короткие. То, что надо!

Источник

ПЛИС это просто или АЛУ своими руками

На Хабре достаточно много статей посвященных микроконтроллерам и языкам программирования на них, но не часто можно встретить статьи о программировании ПЛИС. Прошивки для ПЛИС можно писать на языках описания аппаратуры или рисовать схемы в САПРах фирм, производящих ПЛИС. Сегодня я хочу показать как можно запрограммировать АЛУ на ПЛИС фирмы Actel A3P250 (ProASIC 3 с числом эквивалентных вентилей 250 000) на языке описания аппаратуры SystemVerilog. Данная ПЛИС интересна тем, что позволяет прототипировать заказные микросхемы ASIC или БМК. Прошивки, которые синтезируются для данной ПЛИС можно превратить с серийную микросхему.

Кому интересно добро пожаловать под кат.

Итак, создание прошивки можно разделить на несколько этапов:

1. Определяем, что мы хотим получить, рисуем на листке бумаги, в голове или в Visio структурную схему будущего устройства. В моём случае это АЛУ, у него есть входы: два операнда по 4 разряда, вход сброса, вход синхронизации, вход кода операции 2 разряда ( 00 — сложение, 01 — вычитание, 10 — умножение, 11 — результат равен 0) и выход с результатом 8 разрядов.
2. Если проект сложный, то необходимо написать поведенческую модель, на каком-нибудь языке высокого уровня например на C#, по которой можно понять как это будет работать, в данном случае я этот пункт пропущу, т.к написать на Си или C#модель данного устройства смогут многие и я уверен лучше меня.
3. Собственно пишем код, я для этого использую NPP с подсветкой синтаксиса SystemVerilog хотя писать можно в любом текстовом редакторе или в одной из программ для моделирования, синтеза или трассировки микросхемы, но об этом далее.
Код прошивки на данном этапе я буду называть логической моделью, хотя в разных источниках может быть по разному.
4. Пишем тест для нашей логической модели, для этого можно использовать несколько методов. Так же на этом этапе объединяем тест и модель.
5. Запускаем нашу модель с тестом в среде моделирования. Я использую для моделирования QuestaSim, это продвинутая версия ModelSim от фирмы Mentor Graphics.
6. Если тесты выполнены успешно, то можно приступать к синтезу. Для синтеза я использую Precision Synthesis фирмы Mentor Graphics. Но можно использовать тот софт, который предоставляет вам производитель микросхемы. В результате синтеза мы получаем файлы в формате *.edf и Verilog, это логическая модель, собранная САПР синтеза из тех блоков, которые есть в ПЛИС, а так же описание связей между ними. Я буду называть эти файлы нет-листами.
7. Файл нет-листа в формате Verilog необходимо подключить вместо логической модели и заново запустить моделирование, что бы убедится в том, что синтез прошел успешно и синтезатор ничего не выкинул лишнего, он это очень хорошо умеет. Так же на данном этапе можно воспользоваться средствами формальной верификации, которая проверит соответствие полученного нет-листа логической модели.
8. Если нет-лист прошел тестирование можно приступить к размещению и трассировке нет-листа в ПЛИС, для этого я буду использовать Actel Designer, входящий в состав Actel Libero IDE. На данном этапе мы получаем готовую прошивку ПЛИС и, что не менее важно переработанный нет-лист и временные задержки в его цепях, нет-лист опять же имеет формат Verilog, а задержки генерируются в формате *.sdf.
9. Теперь необходимо промоделировать нет-лист, полученный в результате трассировки с временными задержками и убедиться, что всё работает.
10. Если все действительно работает, то можно прошивать.

Теперь вернемся к АЛУ.
Код в SystemVerilog состоит из модулей, во всяком случае в той части, что касается описания аппаратуры, т.к. при тестировании появляются ключевые слова class и program.

Читайте также:  Лоток для щенка своими руками

Как это не печально, но тега для SystemVerilog или хотя бы Verilog нет, но есть тэг для VHDL, пришлось использовать его…

Разберем модуль АЛУ по частям.

Сначала мы объявляем название модуля и входы/выходы, помните мы их определили на первом этапе.

Затем объявляем несколько внутренних линий для соединения комбинационной части и триггерной.

Теперь опишем комбинационную или асинхронную часто АЛУ:

И наконец триггерную или синхронную часть АЛУ, т.к АЛУ у нас будет синхронным

Модуль закроем ключевым словом:

Теперь напишем тест и запустим моделирование, получим следующую временную диаграмму:

Как мы видим операции выполняются, но из-за двух триггеров на входе и на выходе получается задержка в 2 такта, это можно исправить, но мы же просто рассматриваем пример, а не создаем Core i7, поэтому оставим так и перейдем к синтезу:

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

Т.к. у меня есть дизайн кит, то я расставлю выводы ПЛИС следующим образом:

Результат работы трассировщика (размещение элементов в кристалле) на рисунке ниже, кстати на данном этапе можно подвигать элементы по кристаллу.

Жёлтым выделена цепь тактового сигнала.

На этом я хочу закончить свой рассказ, видео будет позже.

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

Источник

Простейшие логические цепи. Часть 2: правила соединения модулей между собой и анализ простых логических схем

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

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

Правила соединения цепей и их компонентов

Вот несколько правил, которые помогут избежать ошибок при соединении проводников и логических модулей:

1. Не соединяйте два выхода напрямую. Это может привести к конфликту сигналов.

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

3. Не должно быть циклов. Эффект может быть любым – от нестабильности работы цепи до её неспособности функционировать.

Анализ логических схем

Для упрощения анализа цепей мы будем использовать некоторые условные обозначения. Например:

Как видите, определённый набор элементов изображается с помощью одного-единственного модуля.

Анализ цепи из 6-8 элементов

Возьмём любую сделанную по правилам комбинационную схему. Например вот эту:

Если вам по каким-то причинам не нравится моя схема, нарисуйте свою 🙂

Суть анализа цепи заключается в выявлении исходящих сигналов в зависимости от значений входов.
Существует два метода этого самого анализа – горизонтальный (по строкам) и вертикальный (по столбцам).

Анализ по строкам

Этот тип исследования цепей заключается в следующем: мы поочерёдно выставляем разные значения на входах цепи, и смотрим, как изменяется сигнал во время его прохождения дальше по цепи. Вот наглядный пример:

Таким способом удобно анализировать небольшие схемы с одним-двумя входами, потому что не обязательно строить таблицу истинности.

Для таких цепей, как выбранная нами ранее, лучше всё-таки нарисовать эту самую таблицу и вписывать туда найденные значения. Вот так, например:

Анализ по столбцам

Суть этого метода – поочерёдно, с помощью логических выражений, найти значения для всех частей цепи, и только потом вычислить результат для выходов цепи.

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

Теперь можно сравнить результаты, полученные с помощью двух методов. Если они совпадают, то это значит, что либо всё сделано правильно, либо мы допустили больше одной ошибки ( 😀 ).

Источник