Compare commits
5 Commits
d074fbe08e
...
coursework
| Author | SHA1 | Date | |
|---|---|---|---|
| d905b7dbdd | |||
| caa7c5b656 | |||
| 4998eecbd4 | |||
| 5fb2e35a75 | |||
| 70305aa861 |
BIN
coursework/img/alarm.png
Normal file
BIN
coursework/img/alarm.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
@@ -115,13 +115,13 @@
|
|||||||
&&\hspace{4cm}
|
&&\hspace{4cm}
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\begin{flushright}
|
\begin{flushright}
|
||||||
<<\underline{\hspace{1cm}}>>\underline{\hspace{2.5cm}} 2024г.
|
<<\underline{\hspace{1cm}}>>\underline{\hspace{2.5cm}} 2025г.
|
||||||
\end{flushright}
|
\end{flushright}
|
||||||
}
|
}
|
||||||
|
|
||||||
\hfill \break
|
\hfill \break
|
||||||
% \hfill \break
|
% \hfill \break
|
||||||
\begin{center} \small{Санкт-Петербург, 2024} \end{center}
|
\begin{center} \small{Санкт-Петербург, 2025} \end{center}
|
||||||
\thispagestyle{empty} % выключаем отображение номера для этой страницы
|
\thispagestyle{empty} % выключаем отображение номера для этой страницы
|
||||||
|
|
||||||
% КОНЕЦ ТИТУЛЬНОГО ЛИСТА
|
% КОНЕЦ ТИТУЛЬНОГО ЛИСТА
|
||||||
@@ -610,7 +610,7 @@
|
|||||||
|
|
||||||
|
|
||||||
\subsection{Анализ схемотехнической реализации}
|
\subsection{Анализ схемотехнической реализации}
|
||||||
Схема часов была реализована в программе Multisim 14~\cite{multisim}.
|
Функциональная схема часов была реализована в программе Multisim 14~\cite{multisim}.
|
||||||
|
|
||||||
\subsubsection{Индикаторный преобразователь}
|
\subsubsection{Индикаторный преобразователь}
|
||||||
Индикаторный преобразователь - функциональный преобразователь, который по двоичному коду десятичной цифры вырабатывает сигналы, управляющие индикаторами. Он используется для преобразования двоичных чисел в счётчиках в десятичные цифры на дисплеях часов.
|
Индикаторный преобразователь - функциональный преобразователь, который по двоичному коду десятичной цифры вырабатывает сигналы, управляющие индикаторами. Он используется для преобразования двоичных чисел в счётчиках в десятичные цифры на дисплеях часов.
|
||||||
@@ -713,7 +713,7 @@
|
|||||||
|
|
||||||
Блок элементов памяти реализован в пользовательской схеме \texttt{memory}, представленной на Рис.~\ref{fig:memory}. Для каждого разряда кода состояния применяются два D-триггера~--~\texttt{D\_FF}, соединённые последовательно. Такая конфигурация позволяет сохранить новое состояние на выходе схемы \(F\) в момент одного переключения автомата и использовать его в качестве входных данных для схемы \(F\) при следующем переключении.
|
Блок элементов памяти реализован в пользовательской схеме \texttt{memory}, представленной на Рис.~\ref{fig:memory}. Для каждого разряда кода состояния применяются два D-триггера~--~\texttt{D\_FF}, соединённые последовательно. Такая конфигурация позволяет сохранить новое состояние на выходе схемы \(F\) в момент одного переключения автомата и использовать его в качестве входных данных для схемы \(F\) при следующем переключении.
|
||||||
|
|
||||||
У схемы три выхода -- разряды состояни, и четыре входа -- три для разряда состояния и один для синхроимпульс, в момент прихода которого триггеры должны изменять своё состояние.
|
У схемы три выхода -- разряды состояний, и четыре входа -- три для разряда состояния и один для синхроимпульса, в момент прихода которого триггеры должны изменять своё состояние.
|
||||||
|
|
||||||
\newpage
|
\newpage
|
||||||
\phantom{text}
|
\phantom{text}
|
||||||
@@ -760,7 +760,7 @@
|
|||||||
|
|
||||||
i-формирователь отвечает за генерацию импульсных микрокоманд на основе синхроимпульса и выходов управляющего автомата в соответствии с таблицей~\ref{tbl:impuls}.
|
i-формирователь отвечает за генерацию импульсных микрокоманд на основе синхроимпульса и выходов управляющего автомата в соответствии с таблицей~\ref{tbl:impuls}.
|
||||||
|
|
||||||
i-формирователь реализован в пользовательской схеме \texttt{i-shaper}, которая представляет собой обёртку на готовым дешифратором \texttt{74LS138D}. У схемы четыре входа: y1, y2 и y3 -- разряды кода выхода автомата, s -- синхроимпульс. Четыре выхода, каждый из которых соответствует импульсной микрокоманде. Схема \texttt{74LS138D} выдаёт сигнал, только когда на вход G1 подаётся логическая единица, к этому входу и подключен синхроимпульс.
|
i-формирователь реализован в пользовательской схеме \texttt{i-shaper}, которая представляет собой обёртку над готовым дешифратором \texttt{74LS138D}. У схемы четыре входа: y1, y2 и y3 -- разряды кода выхода автомата, s -- синхроимпульс. Четыре выхода, каждый из которых соответствует импульсной микрокоманде. Схема \texttt{74LS138D} выдаёт сигнал, только когда на вход G1 подаётся логическая единица, к этому входу и подключен синхроимпульс.
|
||||||
|
|
||||||
\begin{figure}[h!]
|
\begin{figure}[h!]
|
||||||
\centering
|
\centering
|
||||||
@@ -770,11 +770,72 @@
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection{Звуковая сигнализация}
|
||||||
|
По заданию курсовой работы, необходимо было реализовать звуковую сигнализацию, которая бы работала каждый час в течение четырёх секунд. Схема управления этой сигнализацией представлена на Рис.~\ref{fig:alarm}. У схемы два входа: su\_2 -- второй разряд единиц секунд текущего времени в двоичном виде, mt\_3 -- третий (старший) разряд десятков минут текущего времени. Выход один -- is\_on -- сигнал контролирующий работу сигнализации. Схема основана на нескольких логических элементах, с помощью которых определяется момент, в который нужно изменить состояние сигнализации, JK триггере, который хранит текущее состояние сигнализации (вкл/выкл), и укорачивающей RC цепи, которая нужна для генерации импульсного сигнала для переключения состояния JK триггера.
|
||||||
|
|
||||||
|
\begin{figure}[h!]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1\linewidth]{img/alarm.png}
|
||||||
|
\caption{Схема управления звуковой сигнализацией.}
|
||||||
|
\label{fig:alarm}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection{Общая функциональная схема}
|
||||||
|
На Рис.~27 представлена общая функциональная схема часов. За счёт использования пользовательских схема, она получилась достаточно понятной и похоже на структурную схему часов.
|
||||||
|
|
||||||
|
На функциональной схеме видно, что линии с потенциальными микрокомандами L1-L3 подключены ко входам CA дисплеев \texttt{SEVEN\_SEG\_COM\_A\_BLUE}. Дисплеи работают только когда на этот вход подаётся логическая единица. Линия с потенциальной микрокомандой L4 подаётся на управляющий вход A/B мультиплексоров \texttt{74LS157D}. Линия с потенциальной микрокомандой L5 через логический элемент <<И>> управляет подачей тактового сигнала на счётчики секундомера.
|
||||||
|
|
||||||
|
Помимо основных 5 дисплеев (один для вывода номера дня недели, два для вывода часов и два для вывода минут), на схеме присутствуют ещё два <<отладочных>> дисплея для вывода секунд. Также для упрощения отладки и демонстрации работы схемы, был добавлен ещё один переключатель, с помощью которого можно увеличивать десятки минут на единицу.
|
||||||
|
|
||||||
|
|
||||||
|
\addtocounter{figure}{1}
|
||||||
|
\includepdf[pages={1}, fitpaper, pagecommand={
|
||||||
|
\thispagestyle{empty}
|
||||||
|
\begin{tikzpicture}[remember picture, overlay]
|
||||||
|
\node at (current page.south) [anchor=north, yshift=45pt] {\large{Рис 27. Функциональная схема часов}};
|
||||||
|
\end{tikzpicture}
|
||||||
|
}]{pdf/func-scheme.pdf}
|
||||||
|
|
||||||
|
\subsection{Расчёт площади схемы}
|
||||||
|
|
||||||
|
В таблице~\ref{tbl:count} представлена некоторая статистика по количеству элементов и транзисторов в них в полученной функциональной схеме.
|
||||||
|
|
||||||
|
\begin{table}[h!]
|
||||||
|
\centering
|
||||||
|
\caption{Количество транзисторов в функциональной схеме часов.}
|
||||||
|
\label{tbl:count}
|
||||||
|
\footnotesize
|
||||||
|
\begin{tabularx}{\textwidth}{|X|X|X|X|}
|
||||||
|
\hline
|
||||||
|
\textbf{Элемент} & \textbf{Число транзисторов} & \textbf{Число элементов} & \textbf{Всего транзисторов} \\
|
||||||
|
\hline
|
||||||
|
Элемент И & 4 & 54 & 216 \\
|
||||||
|
\hline
|
||||||
|
Элемент НЕ & 4 & 17 & 68 \\
|
||||||
|
\hline
|
||||||
|
Элемент ИЛИ & 6 & 18 & 108 \\
|
||||||
|
\hline
|
||||||
|
Элемент XOR & 10 & 11 & 110 \\
|
||||||
|
\hline
|
||||||
|
D-триггер & 20 & 6 & 120 \\
|
||||||
|
\hline
|
||||||
|
Счётчик 74LS90D & 120 & 11 & 1320 \\
|
||||||
|
\hline
|
||||||
|
Мультиплексор 74LS157D & 50 & 4 & 200 \\
|
||||||
|
\hline
|
||||||
|
Преобразователь 74LS47N & 400 & 5 & 2000 \\
|
||||||
|
\hline
|
||||||
|
\end{tabularx}
|
||||||
|
\end{table}
|
||||||
|
|
||||||
|
Для реализации всей функциональной схемы потребуется 4142 транзистора. Исходя из расчёта, что на 1 квадратный миллиметр приходится примерно 1000 транзисторов, функциональная схема реализованных часов должна занимать примерно 4.142 ${\text{мм}}^2$.
|
||||||
|
|
||||||
\newpage
|
\newpage
|
||||||
\section*{Заключение}
|
\section*{Заключение}
|
||||||
\addcontentsline{toc}{section}{Заключение}
|
\addcontentsline{toc}{section}{Заключение}
|
||||||
|
|
||||||
В ходе выполнения курсовой работы были построен граф управляющего автомата и общая структурная схема часов, проведено кодирование входных и выходных воздействий и состояний автомата, функции блоков управления были минимизированы с помощью карт Карно и сервиса~\cite{karno}, а также разработана их функциональная схема в программе Multisim 14~\cite{multisim}. В соответствии с вариантом курсовой работы, был реализован следующий функционал:
|
В ходе выполнения курсовой работы были построены граф управляющего автомата и общая структурная схема часов, проведено кодирование входных и выходных воздействий и состояний автомата, функции блоков управления были минимизированы с помощью карт Карно и сервиса~\cite{karno}, а также разработана их функциональная схема в программе Multisim 14~\cite{multisim}. В соответствии с вариантом курсовой работы, был реализован следующий функционал:
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Отображение и корректировка (в дополнение к часам и минутам): дня недели;
|
\item Отображение и корректировка (в дополнение к часам и минутам): дня недели;
|
||||||
@@ -784,11 +845,14 @@
|
|||||||
\item Звуковая сигнализация: каждый час в течение четырёх секунд.
|
\item Звуковая сигнализация: каждый час в течение четырёх секунд.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
Также была приблизительно определена площадь микросхемы, реализующей построенную функциональную схему при современной плотности компоновки транзисторов. Получилась площадь около 4.142 ${\text{мм}}^2$.
|
||||||
|
|
||||||
Можно выделить несколько преимуществ созданной функциональной схемы часов. Во-первых, функциональная схема разбита на пользовательские схемы, что сделало её гораздо более структурированной и похожей на общую структурную схему. Во-вторых, при минимизации функций блоков управления использовалась их неопределенность на некоторых наборах переменных, что позволило значительно уменьшить количество логических элементов в итоговой схеме.
|
Можно выделить несколько преимуществ созданной функциональной схемы часов. Во-первых, функциональная схема разбита на пользовательские схемы, что сделало её гораздо более структурированной и похожей на общую структурную схему. Во-вторых, при минимизации функций блоков управления использовалась их неопределенность на некоторых наборах переменных, что позволило значительно уменьшить количество логических элементов в итоговой схеме.
|
||||||
|
|
||||||
Также можно выделить несколько недостатков созданной функциональной схемы часов. Во-первых, для упрощения преобразователя входных воздействий было решено сделать три кнопки на часах, в то время как вместо третьей кнопки можно было использовать комбинацию кнопок. Во-вторых, при редактировании времени, пользователь может увеличивать часы и минуту только на единицу, что может доставлять дискомфорт, в случае если нужно выставить сильно отличающееся время, также это плохо сказывается на долговечности кнопок.
|
Также можно выделить несколько недостатков созданной функциональной схемы часов. Во-первых, для упрощения преобразователя входных воздействий было решено сделать три кнопки на часах, в то время как вместо третьей кнопки можно было использовать комбинацию кнопок. Во-вторых, из режима секундомера можно выйти только когда он запущен, что может вызывать некоторое неудобство в использовании.
|
||||||
|
|
||||||
|
|
||||||
Функциональную схему можно достаточно просто масштабировать. Во-первых, можно добавить отображение дня недели с помощью сочетаний букв. Во-вторых, достаточно просто переделать схему так, чтобы можно было с возможность просмотра текущего времени с работающим секундомером. Во-третьих, можно использовать схему как основу и добавить функционал будильника.
|
Функциональную схему можно достаточно просто масштабировать. Во-первых, можно добавить отображение дня недели с помощью сочетаний букв. Во-вторых, достаточно просто переделать схему так, чтобы была возможность просмотра текущего времени с работающим секундомером. В-третьих, можно использовать схему как основу и добавить функционал будильника. В-четвёртых, при редактировании времени, пользователь может увеличивать часы и минуту только на единицу, что может доставлять дискомфорт, в случае если нужно выставить сильно отличающееся время, также это плохо сказывается на долговечности кнопок. На основе созданной схемы несложно добавить возможность редактирования десятков минут и часов.
|
||||||
|
|
||||||
|
|
||||||
\newpage
|
\newpage
|
||||||
|
|||||||
Reference in New Issue
Block a user