Проектирование Цифрового устройства - ABCD42.RU

Проектирование Цифрового устройства

Проектирование цифровых устройств

Вы будете перенаправлены на Автор24

Модели цифровых устройств

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

Цифровое устройство может быть выполнено на различной элементной базе: электронной (диоды и транзисторы), оптической, микроэлектронной (микросхемы) или электромеханической (электромагнитное реле). При построении цифрового устройства обычно используются один из двух основных подходов:

  1. Функциональный.
  2. Структурный.

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

$Z_1 = f_1(X_1, . X_n)$ ….

где, $Х = (X_1, . X_n)$ — входные переменные, которые принимают двоичные значения; $Z = (Z_1, . Z_n) $ — выходные переменные, которые принимают двоичные значения.

Схема цифрового устройства, которая описывается булевыми уравнениями, изображена на рисунке ниже.

Рисунок 1. Схема цифрового устройства. Автор24 — интернет-биржа студенческих работ

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

Логическая схема – это ориентированный граф, вершинами которого являются логические элементы, узлы разветвления, входы и выходы.

Готовые работы на аналогичную тему

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

Рисунок 2. Схема. Автор24 — интернет-биржа студенческих работ

Этапы проектирования цифровых устройств

Процесс проектирования цифрового устройства состоит из следующих этапов:

  • На первом этапе проектирования уточняется техническое задание и осуществляется его перевод на язык технического описания. Анализируются взаимодействия между окружающей средой и проектом. Согласовываются основные особенности поведения проекта, в том числе интерфейсные вопросы.
  • На втором этапе проектирования проводится анализ поведения проекта. Его структура делится на несколько функционально законченных узлов. Делается до получения структуры, элементы которой смогут обеспечивать необходимое поведение устройства.
  • На третьем этапе проектирования разрабатываются описания для отдельных компонентов устройства. Проверяется их семантическая и синтаксическая корректность описания.
  • На четвертом этапе проектирования разрабатываются описания для верхних уровней иерархии. На данном этапе цифровое устройство и его составляющие представляются как совокупность компонентов и связей между ними. Выполнение работ данного может быть совмещено с работами третьего этапа.

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

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

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

Пример проектирования цифрового устройства «на пальцах»

Привет, Хабр! Это начало небольшого цикла из двух статей с пошаговым проектированием цифрового устройства с уклоном на практику. Минимум «воды» и максимум практики!

Для начала работы возьмем следующие выходные параметры: 0000110001110001

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

Инструменты, материалы и прочее:

Начало работы

1. Построение таблицы истинности и нахождение совершенной дизъюнктивной нормальной формы (СДНФ)

Первым делом необходимо составить таблицу истинности по формуле

где N – количество возможных вариантов, а i – количество выходных сигналов.

В представленном случае это будет выглядеть так:

На основе полученных данных можно перейти к построению таблицы истинности. Для наглядности входные сигналы были обозначены как A, B, C и D, выходной как F.

После построения таблицы истинности можно приступать к получению СДНФ. Это выполняется в два шага:

  1. Выделяются строчки таблицы истинности, в которых F=1.
  2. Выписывается конъюнкция переменных у всех выделенных строк по следующей формуле: если значение переменной равно 1, то в конъюнкцию включается сама переменная. Если значение равно 0, то включается отрицание переменной. Полученные конъюнкции нужно связать в дизъюнкцию.

По итогу выходит такая СДНФ:

2. Создание карты Карно, минимизация и приведение к базису И-НЕ

Полученную СДНФ необходимо сократить при помощи карт Карно.

Три шага для построения карт Карно:

  1. так как используются четыре переменные (A, B, C и D), то строится таблица 5×5 клеток;
  2. таблица заполняется на основе «координат» из таблицы истинности (из строк, в которых F=1) или СДНФ (суть одна. Просто кому как удобнее);
  3. в заключение смежные клетки объединяются в группы. Группы не должны содержать нули. Группы должны быть кратны двум. Группы могут пересекаться.

В итоге получилось 4 группы:

Следующее действие — минимизация полученных групп. Общий принцип можно свести к следующему:
Если 11 — значение не меняется;
Если 00 — присваивается отрицание;
Если 01 (или 10) — вычеркивается.

Полученные произведения связываются в дизъюнкцию:

После чего составленное выражение приводится к базису И-НЕ при помощи закона де Моргана (отрицание конъюнкции есть дизъюнкция отрицаний, отрицание дизъюнкции есть конъюнкция отрицаний):

Обратите внимание на изменения — появилось двойное отрицание (по одной на «группу» и одно общее) и изменились знаки.

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

Пример логической схемы:

3. Электронная схема на основе логических элементов

Основные расчеты завершены. Теперь можно отложить листок с ручкой и линейкой. Переходим в Electronics Workbench.

В данном случае этот этап выступает «промежуточным» и упрощает процесс перехода от выражения в базисе И-НЕ к электронной схеме на основе микросхем.

1 — Питание;
2 — Переключатели, используемые для подачи сигналов;
3 — Индикаторы (применяются для наглядной проверки работоспособности);
4 — Логические элементы типа «НЕ»;
5 — Логические элементы типа «3И-НЕ»;
6 — Логический элемент типа «4И-НЕ»;
7 — Заземление.

Читайте также  Стороны в гражданском процессе

Как можно заметить, логические элементы электронной схемы внешне отличаются от тех, что были представлены ранее (в логической схеме). Это связано с тем, что в Electronics Workbench условное графическое обозначение логических элементов выполнено по стандартам ANSI, тогда как показанная ранее логическая схема была выполнена в соответствии ГОСТ 2.743-91.

Работоспособность электронной схемы проверяется по таблице истинности. Для этого нужно нажать кнопку запуска

и начать производить переключения, проводя сравнение с таблицей истинности.

ВАЖНО: нужно проверять каждую строчку. Выборочная проверка ничего не даст.

4. Электронная схема на основе микросхем

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

Как можно заметить, в полученной электронной схеме использовано 4 микросхемы — 7404 (аналог К155ЛН1), 7410 (аналог К155ЛА4), 7410 (аналог К155ЛА4) и 7420 (аналог К155ЛА1). Для того чтобы понять, как происходит подключение, следует обратиться к фактическому изображению микросхем.



Сначала это может показаться сложным, но со временем вы поймете, что это не так уж и трудно.
ВАЖНО: не забывайте делать проверку.

Проектирование цифрового устройства

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

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 17.08.2013

Проектирование цифрового устройства

1. Способы построения процессорных устройств

1.1 ПУ со схемной логикой

1.2 ПУ с программируемой логикой

1.3 Факторы, влияющие на работоспособность ЦУ

1.4 Риски, возникающие в процессе работы ЦУ. Способы исключения сбоев в работе ЦУ

2. Расчетная часть

2.1 Разработка структурной схемы цифрового устройства

2.2 Построение графа функционирования ЦУ

2.3 Кодирование состояний

2.4 Состав таблицы функционирования ЦУ

2.5 Определение функций управления триггерами и функций выходов комбинационного узла

2.6 Разработка принципиальной электрической схемы ЦУ

2.7 Расчет периода следования тактовых импульсов и тактовой частоты

Цифровое устройство — техническое устройство или приспособление, предназначенное для получения и обработки информации в цифровой форме, используя цифровые технологии.

Цифровые устройства делятся на 3 основных вида:

1) По способу ввода и вывода

· последовательные устройства (последовательно разряд за разрядом);

· параллельные (информация снимается одновременно по всем разрядам);

2) По принципу действия

· Комбинационные устройства (автоматы без памяти). В них состояние выходных сигналов однозначно определяется только действующей в настоящий момент времени комбинацией входных сигналов и не зависит от значений переменных, действовавших на входах ранее. К таким устройствам относятся кодеры, декодеры, мультиплексоры, демультиплексоры, сумматоры, компараторы.

3) Последовательные или автоматы с памятью. Выходные сигналы определяются не только действующей в настоящий момент времени комбинацией входных сигналов, но и предыдущим состоянием устройства, зависимым от входных переменных, действовавших на входах ранее. К ним относятся триггеры и все устройства, построенные на триггерах: регистры, счетчики, ОЗУ, ПЗУ.

Цифровые (дискретные) автоматы (ЦА) — это логические устройства, предназначенные для приема, хранения и преобразования цифровой информации по некоторому алгоритму, способные переходить под действием входных сигналов из одного состояния в другое и выдавать выходные сигналы.

Теорию автоматов подразделяют на абстрактную и структурную. Структурная теория ЦА изучает общие приемы построения структурных схем автоматов на основе элементарных автоматов. Абстрактная теория ЦА — изучаются наиболее общие законы их поведения без учета конечной структуры (т.е. способа построения) автомата и физической природы информации.

Значение выходных сигналов такого устройства зависит не только от аргументов на входе в данный момент времени, но и от предыдущего состояния автомата, которое фиксируется элементами памяти. В качестве элементов памяти могут использоваться триггеры. Каждое внутреннее состояние цифрового автомата определяется исходным состоянием триггеров и последовательностью входных сигналов, действующих на входе в данный момент времени, поэтому такие устройства последовательного типа. К последовательным схемам можно отнести — триггеры, счетчики, регистры.

В общем случае структурная схема цифрового автомата может быть представлена в виде набора трех узлов — комбинационной схемы формирования выходных сигналов, комбинационной схемы формирования сигналов управления триггерами и, собственно, памяти (рис. 1).

Рисунок 1. Структурная схема цифрового автомата

На вход комбинационной схемы управления триггерами поступает комбинации входных сигналов х1, х2, …, хk, комбинации сигналов, отражающих состояние элементов памяти Q1, Q2, …, Qm. С учетом этих множеств комбинационная схема формирует серии сигналов, управляющих состоянием триггеров. Кодовые комбинации состояния триггеров образуют внутренние состояние цифрового автомата, которые принято обозначать буквой а.

Комбинационная схема формирования выходных сигналов создает сигналы у1, у2, …, ур, которые могут использоваться для управления некоторыми узлами, для активации процессов в других схемах. Эти сигналы могут зависеть только от внутренних состояний: в этом случае устройство принято называть автоматом Мура. А если выходные сигналы зависят и от входных сигналов х1, х2, …, хk, то — автоматом Мили. Таким образом. Для задания цифрового автомата необходимы три множества:

· множество внутренних состояний а1, а2, …, аz .

На указанных трех множествах задают две функции — функцию переходов f, определяющую состояние автомата а(t+1) в момент t+1 в зависимости от состояния автомата а(t) и значения входного сигнала х(t) в момент времени t: а(t+1) = f (a(t), x(t)) и функцию выходов ц, которая определяет зависимость выходного сигнала автомата у(t) от состояния автомата а(t) и значения входного сигнала х(t): y(t) = ц(a(t), x(t)).

Для автомата Мили эти функции имеют вид:

а(t+1) = f (a(t), x(t)) ; y(t) = ц(a(t), x(t)) ;

где а(t+1) — новое состояние цифрового автомата,

a(t) — предыдущее состояние автомата,

y(t) — выходные сигналы текущего времени,

x(t) — сигналы на входе в данный момент времени.

Для автомата Мура:

а(t+1) = f (a(t), x(t)) ; y(t) = ц(a(t)).

Одно из состояний автомата является начальным (состояние а), и перед началом работы автомат всегда устанавливается в данное состояние.

Обычно последующие действия автомата задаются с помощью алгоритма. Функции автоматов Мили и Мура используют 2 способа: табличный и графический. В отличие от табличного способа, графический в виде графа функционирования, обеспечивает хорошую наглядность.

1. Способы построения процессорных устройств

Процессорное устройство (как и всякое сложное цифровое устройство) синтезируется в виде соединения двух устройств: операционного и управляющего (рис.2).

Рисунок 2. Структурная схема процессорного устройства

Операционное устройство — устройство, в котором выполняются операции. Оно включает в себя регистры, сумматор, каналы передачи информации, мультиплексоры для коммутации каналов, шифраторы, дешифраторы и т.д. Управляющее устройство координирует действия узлов операционного устройства; оно вырабатывает в оперативной временной последовательности управляющие сигналы, под действием которых в узлах операционного устройства выполняются требуемые действия.

Процесс функционирования операционного устройства распадается на определенную последовательность элементарных действий в его узлах.

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

Читайте также  Таблица возрастной периодизации

В определенные тактовые периоды одновременно могут выполняться несколько микроопераций, например, R2 а1

Разработка простых цифровых устройств

В предыдущих лекциях были рассмотрены базовые элементы цифровой схемотехники и простейшие приемы проектирования узлов на их основе. Но для разработки сложных устройств и систем всех этих знаний порой оказывается недостаточно.

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

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

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

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

Разработка клавиатуры

Различные клавиатуры с большим количеством клавиш (кнопок) широко используются в цифровых системах: в компьютерах, контроллерах, измерительных приборах, в бытовой технике. Основная задача любой клавиатуры довольно проста: она должна при любом нажатии на клавишу выдавать код номера этой клавиши и сигнал флага нажатия клавиши (строб этого кода). Получив этот сигнал флага, внешнее устройство читает код нажатой клавиши и предпринимает требуемые действия.

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

Количество клавиш полноразмерной клавиатуры компьютера превышает сотню, поэтому мы будем проектировать клавиатуру на максимальное количество клавиш, равное 128. Естественно, клавиатура должна иметь защиту от дребезга механических контактов и должна корректно обрабатывать ситуацию одновременного нажатия нескольких клавиш. Примем, например, что при одновременном нажатии нескольких клавиш клавиатура должна выдавать код только одной из них. Примем также, что максимально возможный темп нажатия клавиш на клавиатуре не должен превышать 20 нажатий в секунду (это довольно много). Таким образом, основные требования к проектируемому устройству сформулированы. Начнем разработку.

Очень часто удобным и эффективным приемом является начало разработки устройства «с конца» . То есть проектирование начинается исходя из требуемого результата, из тех сигналов, которые устройство должно выдавать вовне и принимать извне. И только в конце проектирования разрабатывается та часть устройства, которая выполняет требуемую функцию. Такой подход гарантирует, что разработанное устройство не будет чрезмерно избыточным, не будет делать ничего лишнего, а также то, что оно корректно будет взаимодействовать с другими устройствами и системами. Этот принцип проектирования не универсален, порой выдержать его в течение всего процесса разработки трудно, но попробовать его применить к любому устройству никогда не помешает.

В нашем случае необходимо сначала определиться, что должна выдавать вовне клавиатура . Обычно это задается техническим заданием, но мы примем, что наша клавиатура должна выдавать 7-разрядный двоичный номер нажатой клавиши (так как 2 7 = 128) и сопровождать его положительным сигналом флага нажатия. Сигнал флага и код клавиши должны сохраняться до тех пор, пока нажата клавиша . За это время (несколько миллисекунд) внешнее устройство должно успеть проанализировать сигнал флага и прочитать выходной код клавиатуры. Обычно данное требование не слишком жесткое.

Альтернативное решение — сохранение кода нажатой клавиши и сигнала флага до момента чтения выходного кода внешним устройством — конечно же, снижает требование к быстродействию читающего внешнего устройства, однако оно может привести к тому, что некоторые нажатия клавиш останутся без реакции, не будут обработаны.

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

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

В результате временная диаграмма работы разрабатываемой клавиатуры может быть упрощенно представлена в виде рис. 14.1. Здесь сигнал флага начинается при фиксации единичного сигнала с клавиши (это может быть как во время дребезга, так и после его окончания). После выставления флага фиксируется выходной код клавиши. После отпускания клавиши (нулевой сигнал), через время задержки tзад снимается сигнал флага. Время задержки должно быть заведомо больше времени дребезга контактов. Выходной код может сохраняться после отпускания клавиши до следующего нажатия, а может и сниматься.

Дальнейшая разработка невозможна без выбора принципа преобразования сигналов от нажатия клавиш в код номера нажатой клавиши.

Проектирование цифровых устройств на микроконтроллерах

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

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

Читайте также  Характеристика ассортимента потребительских свойств мужской повседневной обуви

Для реализации быстродействующих цифровых устройств (в том числе и предназначенных для обработки аналоговых сигналов) обычно применяются программируемые логические интегральные схемы. Если же требуется построить малогабаритное устройство с достаточно сложным алгоритмом работы, то альтернативы устройствам, спроектированным на основе микроконтроллера, нет.

Рассмотрим пример разработки схемы и написания программы для микроконтроллера. Прежде всего не нужно забывать, что программа не может существовать отдельно независимо от схемы устройства. Если при написании программы для универсального компьютера, такого как IBM PC можно не задумываться о схеме, так как она стандартная, то перед написанием программы для микроконтроллера необходимо разработать схему устройства, в состав которого будет входить микроконтроллер. Мельчайшие изменения в принципиальной схеме устройства приводят к изменению программы, написанной для этого устройства.

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

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

Выберем в качестве примера разработку часов на микроконтроллере. Естественно использовать микроконтроллер для реализации часов неоправданно, так как существует огромное количество специализированных микросхем, реализующих эту задачу. Однако, если часы помимо основной функции должны будут выполнять ещё какие-либо задачи, то применение универсальной микросхемы — микроконтроллера может быть вполне оправдано. В нашем случае реализация часов рассматривается просто как учебный пример. Тем не менее, при необходимости, это устройство, при небольшом изменении схемы и программы, может выполнять дополнительные функции.

Как и разработка любого устройства, разработка микропроцессорного устройства начинается с разработки структурной схемы.

Разработка структурной схемы часов

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


Рисунок 1. Структурная схема устройства измерения времени (часов)

В простейшем случае генератор импульсов эталонной длительности должен вырабатывать минутные импульсы. В качестве генератора эталонных импульсов мог бы подойти кварцевый генератор, так как этот тип генераторов обладает высокой стабильностью колебаний. Но кварцевые генераторы вырабатывают колебания в диапазоне от 1 до 30 МГц. Это соответствует временным интервалам от 0.03 до 1 мкС. Тем не менее, если воспользоваться делителем частоты, выполненном на двоичном счетчике, то можно получить импульсы с периодом 1 минута.

Выберем частоту работы кварцевого генератора. Мы предполагаем использовать микроконтроллер семейства MCS-51, поэтому выберем частоту кварцевого генератора обычную для этих микроконтроллеров &mbrash; 12 МГц. Тогда для формирования секундных импульсов (частота 1 Гц) потребуется делитель частоты на 12000000. Для формирования минутных импульсов потребуется ещё один делитель частоты. Так как в минуте содержится 60 секунд, то нам потребуется делитель на 60.

Уточнённая структурная схема разрабатываемого микропроцессорного устройства приведена на рисунке 2.


Рисунок 2. Уточнённая структурная схема устройства измерения времени

Следующий блок, который обязательно должен входить в состав часов &mbrash; это устройство индикации. Выберем в качестве устройства отображения светодиодные семисегментные индикаторы. Для преобразования кода, в котором работает счётчик минутных импульсов, в семисегментный код потребуется дешифратор. То есть, блок индикации будет состоятьиз дешифратора и собственно индикаторов.

И, наконец, последнее замечание. Любые часы время от времени требуют коррекции своего значения с целью синхронизации своих показаний с всемирным временем. Это будет делать блок коррекции, который в свою очередь будет состоять из кнопок и схемы установки внутреннего состояния счётчика временных интервалов.

Структурная схема часов с учётом блока индикации и блока коррекции времени приведена на рисунке 3.


Рисунок 3. Структурная схема часов

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

Теперь можно приступить к разработке принципиальной схемы устройства.

Понравился материал? Поделись с друзьями!

  1. Микушин А.В. Занимательно о микроконтроллерах. СПб, БХВ-Петербург, 2006.
  2. Микушин А.В., Сажнев А.М., Сединин В.И. Цифровые устройства и микропроцессоры. СПб, БХВ-Петербург, 2010.
  3. часы-будильник из жесткого диска

Вместе со статьей «Проектирование цифровых устройств на микроконтроллерах» читают:

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: