Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Составление принципиальной схемы
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Схемотехника
Mikhail B.
Здравствуйте. Интересует возможность построения принципиальной схемы с использованием логических элементов по существующим временным диаграммам.
Изначальная задача - существует проц на отладочной плате, выход с него - четыре светодиода. Нужно написать на VHDL счётчик чтоб первый диод моргал каждую секунду, второй - каждую вторую, и так далее.

Я пошёл "с конца" - нарисовал временные диаграммы, чтоб иметь представление какие есть сигналы, как они будут взаимосвязаны, импульсы такта. Входы и выходы. Теперь моя система - это "чёрный ящик". Дальше хочу составить по ВД принципиальную схему (там будут использованы, как я понимаю, Т-триггеры). Ну и потом уже описать её на VHDL.
Скажите, правильный ли у меня план действий, возможно ли это? Посоветуйте пожалуйста что можно изучить, я чайник и не знаю как быть дальше help.gif
HardEgor
Выглядит как простой счетчик. Открываете справочник по логическим микросхемам(в котором есть диаграммы) и изучаете его на совпадение с вашими. Там же находите внутреннее устройство микросхем.
Plain
От требуемой диаграммы — да, обычный путь проектирования.

Счётчик — это одна строка на его описание и одна на его работу.

Далее, первый светодиод, мигающий каждую секунду — скорее всего ТЗ имеет ввиду, что это просто младший разряд счётчика, тактируемого частотой 2 Гц.

Чтобы стереотипно с ним мигали и остальные светодиоды, т.е. чтобы время их свечения было той же половиной секунды, требуется каждый из оставшихся трёх разрядов счётчика логически перемножить с этим его младшим разрядом, на что соответственно потребуется ещё три строки кода.
iosifk
Цитата(Mikhail B. @ Jan 13 2018, 20:08) *
Посоветуйте пожалуйста что можно изучить, я чайник и не знаю как быть дальше help.gif

Если хотите, то могу рассказать как это делается. Мой скайп-адрес в личной карточке форума...
до связи!
Mikhail B.
Цитата(iosifk @ Jan 13 2018, 22:12) *
Если хотите, то могу рассказать как это делается. Мой скайп-адрес в личной карточке форума...
до связи!


Спасибо!
Скайпа у меня нет, по почте можно?
iosifk
Цитата(Mikhail B. @ Jan 14 2018, 11:02) *
Спасибо!
Скайпа у меня нет, по почте можно?

Написать "учебник" и переслать по почте? Да Вы что, считаете что мне заняться нечем?
А что, бесплатного WiFi у Вас в городе нет? Ни одного кафе? Ни одной знакомой девушки? И в холле гостиницы, где-нибудь в уголке спрятаться нельзя?
Mikhail B.
Цитата(Plain @ Jan 13 2018, 21:21) *
Чтобы стереотипно с ним мигали и остальные светодиоды, т.е. чтобы время их свечения было той же половиной секунды, требуется каждый из оставшихся трёх разрядов счётчика логически перемножить с этим его младшим разрядом, на что соответственно потребуется ещё три строки кода.


Да, так и есть.
Ага, т.е. нет новых компонентов на каждый выход, работающих по своему закону. Чем-то уже напоминает дешифратор, я правильно понимаю? В этом направлении двигаться?

Цитата(iosifk @ Jan 14 2018, 11:15) *
А что, бесплатного WiFi у Вас в городе нет?


Понял, сейчас буду решать этот вопрос, сейчас у меня в городе впервые появится WiFi
iosifk
Цитата(Mikhail B. @ Jan 14 2018, 11:24) *
Понял, сейчас буду решать этот вопрос, сейчас у меня в городе впервые появится WiFi

В будний то день можно было бы подойти в представительство Элтеха и попросить помочь. Думаю, что помогли бы связаться со мной... sm.gif Но ведь сегодня выходной...
Herz
Цитата(iosifk @ Jan 14 2018, 10:15) *
Написать "учебник" и переслать по почте? Да Вы что, считаете что мне заняться нечем?

Ну, время-то на Форум у Вас есть. И что, готовых учебников, на которые можно было бы дать автору ссылку, не существует? Обязательно писать?
Да, и здесь открытая площадка. Смысл в том, чтобы обсуждение пригодилось всем заинтересованным. Если же Вы хотите только согласовать с автором способ и время приватной консультации, то общайтесь, пожалуйста, по ЛС.
Plain
Цитата(Mikhail B. @ Jan 14 2018, 11:24) *
т.е. нет новых компонентов на каждый выход, работающих по своему закону. Чем-то уже напоминает дешифратор, я правильно понимаю? В этом направлении двигаться?

Неправильно, "новые компоненты" есть — каждый светодиод управляется своим отдельным дешифратором в виде логического элемента И. Если на Verilog, то должно выглядеть примерно так:

assign LED[0] = counter[1];
assign LED[1] = counter[1] && counter[2];
assign LED[2] = counter[1] && counter[2] && counter[3];
assign LED[3] = counter[1] && counter[2] && counter[3] && counter[4];
k155la3
Цитата(Mikhail B. @ Jan 13 2018, 21:08) *
. . .
Я пошёл "с конца" - нарисовал временные диаграммы, чтоб иметь представление какие есть сигналы, как они будут взаимосвязаны, импульсы такта. Входы и выходы. Теперь моя система - это "чёрный ящик". ...

Это один из методов (когда алгоритм сложно поддается формализации на логику и его проще изобразить "картинкой" входов и выходов ), но не для Вашего случая - ведь логика элементарная (счетчик). Тем более, что задача учебная, а и Вы рискуете ничему не научиться,
а работать по "индо-пакистанской" методе sm.gif
Я бы из верменнОй диаграммы вывел "логику", и ее уже прописывал в алгоритм.
Хотя если надо точно следовать ТЗ - то "черный ящик" подходит.


iosifk
Цитата(Herz @ Jan 14 2018, 14:27) *
Ну, время-то на Форум у Вас есть. И что, готовых учебников, на которые можно было бы дать автору ссылку, не существует? Обязательно писать?
Да, и здесь открытая площадка. Смысл в том, чтобы обсуждение пригодилось всем заинтересованным. Если же Вы хотите только согласовать с автором способ и время приватной консультации, то общайтесь, пожалуйста, по ЛС.

Я зная что такое открытая площадка. И знаю что существует достаточное количество учебников.
Но есть небольшая тонкость. Для одних VHDL - это работа и кусок хлеба. Для других - хобби. Для третьих - "сдать курсовик и забыть"... Поэтому я и хотел выяснить, что же на самом деле человеку нужно. Просто потому, что исходно ТС вопрос поставил не корректно. Сначала какой-то "процессор", потом "светодиоды" и потом "VHDL". Как это все взаимосвязано? И какой учебник нужен? Пока не понятно, что нужно рекомендовать...
Если же говорить о "всех заинтересованных", то ведь я никому еще в помощи не отказывал. Так что не будем об этом. И еще немного. Из опыта работы в техподдержке могу сказать. Есть "кривая нормального распределения" - такой горбик. По горизонтали - "сложность вопроса", по вертикали - "число таких вопросов"... Так вот вопрос этой темы - "левый край кривой". Т.е. такой вопрос как в этой теме интересен 1-2 человекам, не более... Что же касается "серединки горбика", то тут без сомнения будет много интересующихся. И такие темы все обсуждается в форуме...
Mikhail B.
Цитата(iosifk @ Jan 14 2018, 21:42) *
Для одних VHDL - это работа и кусок хлеба. Для других - хобби. Для третьих - "сдать курсовик и забыть"... Поэтому я и хотел выяснить, что же на самом деле человеку нужно. Просто потому, что исходно ТС вопрос поставил не корректно. Сначала какой-то "процессор", потом "светодиоды" и потом "VHDL". Как это все взаимосвязано? И какой учебник нужен? Пока не понятно, что нужно рекомендовать...


Ответ на Ваш вопрос. Для меня VHDL - хобби. В институте не преподавалось ничего подобного и близко. Осваиваю с нуля. Поэтому мой вопрос в разделе "в помощь начинающему". Поэтому мой вопрос в крайней левой части вашего графика ;-)
Более подробно про "диоды" расскажу. С самого начала. Узнал я про это https://www.altera.com/products/boards_and_...evaluation.html
Так же, у меня есть Quartus prime 17.0 Standart edition. К ним прилагаются мои нулевые начальные знания VHDL и схемотехники.

На отладочной плате установлены 6 светодиодов. Один из них сигнализирует о наличии питания. Свечением остальных пяти есть возможность управлять при помощи ПЛИС. Её планируется программировать на языке VHDL. А именно: первый диод должен моргать раз в секунду. Второй - раз в две секунды. Третий - раз в пять секунд.
Чтоб представить взаимосвязь между будущими сигналами, мной были изображены ВД. По ним я хочу составить принципиальную схему (логические элементы и связь между ними), с этим и прошу оказать помощь - как по временным диаграммам построить схему? Всё остальное - вопрос десятый. Схема будет описана на VHDL. Программа вбита в Quartus, с этим постараюсь разбираться сам.
k155la3
Для построения схемы из ВД Вам потребуется:
- Булева алгебра (если вдруг такого курса у Вас небыло).
Если собираетесь работать с лог. сигналами - оно надо в любом случае.

Основа синтеза схемы из ВД.
1. Из ВД строится "таблица истинности" Вашего черного ящика (потактово).
2. Таблица обрабатывается методами булевой алгебры напредмет оптимизации.
3. По оптимизированной (сокращенной) таблице строится схема. Проще всего метод (один из ...) оптимизации виден на "картах Карно".
---
Это один из "базовых" методов, примитивный, для простых схем (без памяти).

twix
Цитата(Mikhail B. @ Jan 15 2018, 18:16) *
Ответ на Ваш вопрос. Для меня VHDL - хобби.

Есть два способа построить схему по VHDL диаграмме.
1. Простой.
2. Сложный.

1. Простой.
Пишете VHDL код, чтобы получилась диаграмма так, которая требуется. Затем синтезируете дизайн и смотрите схему, которую построил синтезатор.
Synplify синтезатор делает вполне себе смотрибельные схемы, но можно и прямо в Quartus посмотреть.

2. Сложный.
Значит любая диаграмма состоит из состояний или тактов.
В каждое состоянии состояние входов определяет состояние выходов.
Этим занимается комбинационных автомат. Ну вот входы транслирует в выходы. Делает он это мгновенно.
А вот состояниями рулит так называемая state machine. Она бывает двух типов, ну это не так важно.

Так вот, state machine просто меняет комбинацонные автоматы на каждом такте, из чего получается диаграмма.
Входы то одни и те же, а выходы меняются. Ну да, state machine позволяет делать "петли" то есть предыдущее состояние
выходов использовать вдогон ко входам как вход для комбинационного автомата.

Теперь про комбинационные автоматы. Входы транслируются в выходы согласно булевой алгебре.
Ее модификация это карты Карно. Позволяют быстро отработать сложные автоматы на бумажке.
Студентов заморачивают булевой алгеброй и картами Карно просто конкретно. На самом деле они НАФИГ не нужны в реальной
работе. Достаточно знать как работают простые элементы AND, OR, XOR, и то только для того чтобы понять отчего же сигналы
неверно смешиваются.

Ну вот и все. Понятно что Вам хочется геморроя на начальном этапе, ну так откройте начальные курсы по словам
булева алгебра, карты Карно, основы VHDL и вперед и с песней. Чего Вы нам то вопросы задаете.
Это все равно что "расскажите мне про математику".

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.