Синтез дискретно-логического устройства управления электронных часов

МИНИСТЕРСТВО ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ФИЛИАЛ В Г. ИШИМБАЕ

Кафедра АПП











Реферат

по предмету: Математические основы дискретно-логических систем

Синтез дискретно-логического устройства управления электронных часов











Выполнил: ст. гр. АТП-208

Шарипов Д.В.

Проверил: к. ф. - м. н., ст. преп.

Мугафаров М.Ф.









Ишимбай 2006


План



	Цель работы

	Граф управляющего автомата

	Общая структурная схема

	Кодирование входных и выходных воздействий

	Минимальные функции блоков F и FL

	Остановка часов

	Будильник

	Общая функциональная схема

	Функциональная схема блоков F и FL


Цель работы



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

	

Граф управляющего автомата



	Построим возможный граф перехода в состояния автомата.

	

	

	

	Состояния автомата:

	1 - отображение текущего времени. На индикаторах отображаются часы и минуты. 

	Однократное нажатие кнопки b включает/выключает будильник

	2 - режим корректировки минут. На индикаторах отображаются минуты. Однократное нажатие кнопки b добавляет единицу к значению минут.

	3 - режим корректировки часов. 

	На индикаторах отображаются часы. Однократное нажатие кнопки b добавляет единицу к значению часов.

	4 - режим установки минут будильника. На индикаторах отображаются минуты будильника. 

будильник дискретный логический управление

	Однократное нажатие кнопки b добавляет единицу к значению минут будильника.

	5 - режим установки часов будильника. На индикаторах отображаются часы будильника. Однократное нажатие кнопки b добавляет единицу к значению часов будильника.

	Опишем управляющие сигналы:

	L1 - разрешает или запрещает отображение минут

	L2 - разрешает или запрещает отображение часов

	L3 - управление МС, которая позволяет выводить на индикаторы текущее время или время будильника.

	i1 - подается для корректировки минут

	i2 - подается для корректировки часов

	i3 - подается для установки минут будильника

	i4 - подается для установки часов будильника

	i5 - включает/выключает будильник

	Опишем режимы и связанные с ними микрокоманды:

	1. Отображение времени

	

	L1=1 L2=1 L3=0

	

	Должен поступать внешний сигнал i5

	2. Режим корректировки минут

	

	L1=1 L2=0 L3=0

	

	Должен поступать внешний сигнал i1

	3. Режим корректировки часов

	

	L1=0 L2=1 L3=0

	

	Должен поступать внешний сигнал i2

	4. Режим установки минут будильника

	

	L1=1 L2=0 L3=1

	

	Должен поступать внешний сигнал i3

	5. Режим установки часов будильника

	

	L1=0 L2=1 L3=1

	

	Должен поступать внешний сигнал i4

	

Общая структурная схема



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

	

	

	

	
Изобразим общую структурную схему

	



	

Кодирование входных и выходных воздействий



	Составим таблицу состояний.

Вход

Состояние

След. Состояние

Выход

a

1

2

z6

b

1

1

z5

a

2

3

z6

b

2

2

z1

a

3

4

z6

b

3

3

z2

a

4

5

z6

b

4

4

z3

a

5

1

z6

b

5

5

z4

	

	Закодируем входы и выходы состояний автомата и после этого построим таблицы истинности для элементов F и FL.

	Для кодирования состояний возьмем 3 двоичных разряда:

		000

		001

		010

		011

		100

	

	Входных сигнала два: 

 

x

a

1

b

0

	

	Закодируем выходные импульсы



y1/i1

y2/i2

y3/i3

y4/i4

y5/i5

z1

1

0

0

0

0

z2

0

1

0

0

0

z3

0

0

1

0

0

z4

0

0

0

1

0

z5

0

0

0

0

1

z6

0

0

0

0

0

	

	Проведем кодирование выходных сигналов

Вход

Текущ. Сост. 

След. Сост. 

Выход



q1

q2

q3

Q1

Q2

Q3

y1

y2

y3

y4

y5

1

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

0

0

1

0

1

0

0

0

0

0

0

0

0

0

1

0

0

1

1

0

0

0

0

1

0

1

0

0

1

1

0

0

0

0

0

0

0

1

0

0

1

0

0

1

0

0

0

1

0

1

1

1

0

0

0

0

0

0

0

0

0

1

1

0

1

1

0

0

1

0

0

1

1

0

0

0

0

0

0

0

0

0

0

0

1

0

0

1

0

0

0

0

0

1

0

	

	Проведем кодирование выходных сигналов для блока FL

q1

q2

q3

L1

L2

L3

0

0

0

1

1

0

0

0

1

1

0

0

0

1

0

0

1

0

0

1

1

1

0

1

1

0

0

0

1

1

	

Минимальные функции блоков F и FL



	При помощи карт Карно построим и минимизируем функции Q1,Q2,Q3,y1,y2,y3,y4,y5 от аргументов x,q1,q2,q3, а также функции L1,L2,L3 от аргументов q1,q2,q3.

	

	

	

	

	

	

	

	Q1 = xq2q3 \/ xq1

	Q2 = xq2 \/ q2q3 \/ xq2q3

	Q3 = xq3 \/ xq1q3

	y1 = xq1q2q3

	y2 = xq2q3

	y3 = xq2q3

	y4 = xq1

	y5 = xq1q2q3

	L1 = q3 \/ q1q2

	L2 = q3

	L3 = q1 \/ q2q3

	

	По полученным формулам могут быть построены функциональные схемы блоков F и FL.

	

Остановка часов



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

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

	б). запуск часов осуществляется нажатием любой кнопки в режиме отображения времени

	Для этого необходимо, чтобы импульсы от генератора тактовых импульсов не поступали на счетчик Счк1. Эту функцию будет реализовывать блок ST, схема которого имеет следующий вид:

	

	

	

	Принцип работы блока ST следующий: если при корректировке минут была добавлена минута, то сигнал i1 сбросит триггер T7 в нулевое состояние, что не позволит пройти импульсам от генератора тактовых импульсов. Находиться в нулевом состоянии триггер T7 будет находиться до тех пор, пока на его вход s не подастся напряжение низкого уровня. Это произойдет, когда часы будут находиться в режиме отображении времени (q1=0 q2=0 q3=0) и будет нажата любая кнопка (нажатию кнопки соответствует появление синхроимпульса s, т.е. s=1).

	

Будильник



	Для того, чтобы проектируемые часы имели будильник, заведем систему счетчиков Счк7-Счк10, которые будут хранить время, при наступлении которого необходимо подать звуковой сигнал. Таким образом, нам необходимо сравнивать значения счетчиков, хранящие время будильника, со значениями соответствующих счетчиков, отсчитывающих время. Сравнение будем производить с помощью свойства импликации функции эквивалентности:

	

	p<=>q =  pq \/ pq

	

	Приведем схему блока сравнения пары соответствующих разрядов.

	

	

	

	Qб - разряд со счетчика будильника

	Q - разряд со счетчика, предназначенного для отсчета времени

	Для того, чтобы сравнить значения пары соответствующих счетчиков, необходимо проверить все их разряды по этой схеме. Если хотя бы одна пара двоичных разрядов не эквивалентна, то счетчики хранят разные значения; если все разряды эквивалентны, то счетчики хранят одно и то же значения. Исходя из этого, построим схему блока, который будем обозначать <=>, сравнивающий значения пары соответствующих счетчиков.

	Для трехразрядных счетчиков:

	

	

	

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

	Для того, чтобы проектируемые часы были обеспечены возможностью отключения режима будильника введем счетчик Счк12 с коэффициентом пересчета к=2 и одним двоичным разрядом. Значению счетчика соответсвует:

	0 - будильник выключен

	1 - будильник включен

	Значение счетчика Счк12 будет меняться при появлении сигнала i5, которому соответствует нажатие кнопки b в режиме отображания времени.

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

	

	

	

Общая функциональная схема



	Для просмотра нажмите сюда

	


Функциональная схема блоков F и FL