198 lines
7.0 KiB
TeX
198 lines
7.0 KiB
TeX
\documentclass[]{scrartcl}
|
|
\usepackage{geometry}
|
|
\geometry{
|
|
a4paper,
|
|
top=18mm,
|
|
bottom=19mm,
|
|
}
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage[T1]{fontenc}
|
|
\usepackage{amsmath}
|
|
\usepackage[pdftex,pdfa,hidelinks,breaklinks]{hyperref}
|
|
\usepackage{url}
|
|
\usepackage{xmpincl}
|
|
\usepackage{hyperxmp}
|
|
\usepackage{karnaugh-map}
|
|
\usepackage[affil-it]{authblk}
|
|
\usepackage{graphicx}
|
|
\graphicspath{ {./img/} }
|
|
|
|
\renewcommand{\figurename}{Obrázek}
|
|
\renewcommand{\tablename}{Tabulka}
|
|
|
|
\date{\today}
|
|
|
|
\title{Protokol 4 - Sekvenční úloha - semafor}
|
|
\author{M et Z}
|
|
|
|
\begin{document}
|
|
\affil{FAI UTB ve Zlíně, Softwarové inženýrství (SWI)}
|
|
|
|
\maketitle
|
|
\renewcommand{\contentsname}{Obsah}
|
|
\tableofcontents
|
|
|
|
\newpage
|
|
|
|
\section*{Zadání}
|
|
\addcontentsline{toc}{section}{Zadání}
|
|
|
|
\begin{enumerate}
|
|
\item Navrhněte sekvenční logický obvod pro řízení světelné signalizace na
|
|
křižovatce obvod pro řízení světelné signalizace na křižovatce splňující následující časování:
|
|
\begin{itemize}
|
|
\item 4 časové jednotky svítí červená
|
|
\item 1 časovou jednotku svítí současně červená a žlutá
|
|
\item 4 časové jednotky svítí zelená
|
|
\item 1 časovou jednotku svítí žlutá
|
|
\item Přechod na začátek sekvence
|
|
\end{itemize}
|
|
\begin{enumerate}
|
|
\item Dle zadaného časování semaforu sestavte pravdivostní tabulku obsahující číslo
|
|
hodinového impulsu h-i, výstupy čítače $Q_0$ až $Q_3$ a stav světelné signalizace semaforu
|
|
R (červená), Y (žlutá) a G (zelená).
|
|
\item Za použití Karnaughových map proveďte minimalizaci logických funkcí pro ovládání
|
|
jednotlivých světelných signálů semaforu. KM budou celkem tři s rozměrem 4x4
|
|
buněk. Neurčité stavy označte znakem x a doplňte je takovou logickou hodnotou ($x1$
|
|
nebo $x0$), aby bylo dosaženo co nejlepší minimalizace logické funkce.
|
|
\item Upravte logické funkce do tvaru vhodného pro realizaci pomocí logických členů NAND.
|
|
Použijte De Morganových zákonů pro nahrazení logických součtů logickými součiny.
|
|
\item Navrhněte schéma zapojení kódovacího obvodu s využitím hradel NAND s libovolným
|
|
počtem vstupů.
|
|
\end{enumerate}
|
|
\item Ověřte funkci semaforu v obvodovém simulátoru a zaznamenejte časový digram jednotlivých světelných signálů.
|
|
\begin{enumerate}
|
|
\item Sestavte výsledný logický obvod, který bude tvořen čítačem 7493, na jehož výstupy
|
|
bude připojen navržený kódovací obvod pro světelnou signalizaci. Nezapomeňte
|
|
správně připojit resetovací vstupy čítače MR1 a MR2. Jako šablonu obvodu pro Circuit
|
|
simulátor použijte soubor „Semafor.txt“, kde je již vložen obvod čítače a příslušné
|
|
výstupy semaforu včetně nastavení grafického výstupu.
|
|
\item V protokolu uveďte kompletní schéma zapojení obvodu a změřený časový diagram
|
|
světelných signálů semaforu v Circuit simulátoru.
|
|
\end{enumerate}
|
|
\end{enumerate}
|
|
|
|
\newpage
|
|
|
|
\section{Návrh sekvenčního logického obvodu}
|
|
\subsection{Pravdivostní tabulka}
|
|
\begin{table}[!hbt]
|
|
\centering
|
|
\begin{tabular}{||r|cccc|ccc||}
|
|
\hline
|
|
\textbf{h-i} & \[\textbf{Q_3}\] & \[\textbf{Q_2}\] & \[\textbf{Q_1}\] & \[\textbf{Q_0}\] & \textbf{R} & \textbf{Y} & \textbf{G} \\
|
|
\hline\hline
|
|
$0$ & $0$ & $0$ & $0$ & $0$ & $1$ & $0$ & $0$ \\
|
|
$1$ & $0$ & $0$ & $0$ & $1$ & $1$ & $0$ & $0$ \\
|
|
$2$ & $0$ & $0$ & $1$ & $0$ & $1$ & $0$ & $0$ \\
|
|
$3$ & $0$ & $0$ & $1$ & $1$ & $1$ & $0$ & $0$ \\
|
|
$4$ & $0$ & $1$ & $0$ & $0$ & $1$ & $1$ & $0$ \\
|
|
$5$ & $0$ & $1$ & $0$ & $1$ & $0$ & $0$ & $1$ \\
|
|
$6$ & $0$ & $1$ & $1$ & $0$ & $0$ & $0$ & $1$ \\
|
|
$7$ & $0$ & $1$ & $1$ & $1$ & $0$ & $0$ & $1$ \\
|
|
$8$ & $1$ & $0$ & $0$ & $0$ & $0$ & $0$ & $1$ \\
|
|
$9$ & $1$ & $0$ & $0$ & $1$ & $0$ & $1$ & $0$ \\
|
|
$10$ & $1$ & $0$ & $1$ & $0$ & $1$ & $0$ & $0$ \\
|
|
$11$ & $1$ & $0$ & $1$ & $1$ & $x$ & $x$ & $x$ \\
|
|
$12$ & $1$ & $1$ & $0$ & $0$ & $x$ & $x$ & $x$ \\
|
|
$13$ & $1$ & $1$ & $0$ & $1$ & $x$ & $x$ & $x$ \\
|
|
$14$ & $1$ & $1$ & $1$ & $0$ & $x$ & $x$ & $x$ \\
|
|
$15$ & $1$ & $1$ & $1$ & $1$ & $x$ & $x$ & $x$ \\
|
|
\hline
|
|
\end{tabular}
|
|
\caption{Pravdivostní tabulka obvodu pro světelnou signalizaci}
|
|
\label{truthtable}
|
|
\end{table}
|
|
|
|
\newpage
|
|
\subsection{Karnaughovy mapy}
|
|
\subsubsection{Karnaughova mapa pro výstup R}
|
|
\begin{figure}[!hbt]
|
|
\centering
|
|
\begin{karnaugh-map}[4][4][1][$Q_1Q_0$][$Q_3Q_2$]
|
|
\indeterminants{11,12,13,14,15}
|
|
\minterms{0,1,2,3,4,10}
|
|
\maxterms{5,6,7,8,9}
|
|
\implicant{0}{4}
|
|
\implicant{0}{2}
|
|
\implicant{15}{10}
|
|
\end{karnaugh-map}
|
|
\vspace{-20pt}
|
|
\caption{Karnaughova mapa pro výstup R}
|
|
\end{figure}
|
|
|
|
\subsubsection{Karnaughova mapa pro výstup Y}
|
|
\begin{figure}[!hbt]
|
|
\centering
|
|
\begin{karnaugh-map}[4][4][1][$Q_1Q_0$][$Q_3Q_2$]
|
|
\indeterminants{11,12,13,14,15}
|
|
\minterms{4,9}
|
|
\maxterms{0,1,2,3,5,6,7,8,10}
|
|
\implicant{13}{11}
|
|
\implicant{4}{12}
|
|
\end{karnaugh-map}
|
|
\vspace{-20pt}
|
|
\caption{Karnaughova mapa pro výstup Y}
|
|
\end{figure}
|
|
|
|
\subsubsection{Karnaughova mapa pro výstup G}
|
|
\begin{figure}[!hbt]
|
|
\centering
|
|
\begin{karnaugh-map}[4][4][1][$Q_1Q_0$][$Q_3Q_2$]
|
|
\indeterminants{11,12,13,14,15}
|
|
\minterms{5,6,7,8}
|
|
\maxterms{0,1,2,3,4,9,10}
|
|
\implicant{12}{8}
|
|
\implicant{5}{15}
|
|
\implicant{7}{14}
|
|
\end{karnaugh-map}
|
|
\vspace{-20pt}
|
|
\caption{Karnaughova mapa pro výstup G}
|
|
\end{figure}
|
|
|
|
\newpage
|
|
\subsection{Úprava logických funkcí}
|
|
\subsubsection{Rovnice pro výstup R}
|
|
\[Y=Q_2\bar{Q_1}\bar{Q_0}+\bar{Q_2}\bar{Q_3}+\bar{Q_2}Q_1\]\\
|
|
\vspace{-20pt}
|
|
\[Y=\overline{(\overline{(Q_2\bar{Q_1}\bar{Q_0})}\overline{(\bar{Q_2}\bar{Q_3})}\overline{(\bar{Q_2}Q_1)})}\]\\
|
|
|
|
\subsubsection{Rovnice pro výstup Y}
|
|
\[Y=Q_2\bar{Q_1}\bar{Q_0}+Q_3Q_0\]\\
|
|
\vspace{-20pt}
|
|
\[Y=\overline{(\overline{(Q_2\bar{Q_1}\bar{Q_0})}\overline{(Q_3Q_0)})}\]\\
|
|
|
|
\subsubsection{Rovnice pro výstup G}
|
|
\[Y=Q_0\bar{Q_1}\bar{Q_3}+Q_2\bar{Q_1}Q_0+Q_2Q_1\]\\
|
|
\vspace{-20pt}
|
|
\[Y=\overline{\overline{(Q_0\bar{Q_1}\bar{Q_3})}\overline{(Q_2\bar{Q_1}Q_0)}\overline{(Q_2Q_1)}}
|
|
|
|
\subsection{Schéma zapojení}
|
|
\begin{figure}[!hbt]
|
|
\centering
|
|
\includegraphics[width=0.99\textwidth]{circuit}
|
|
\caption{Schéma zapojení obvodu ve funkci semaforu}
|
|
\label{circuit}
|
|
\end{figure}
|
|
|
|
\newpage
|
|
|
|
\section{Ověření funkce semaforu v obvodovém simulátoru}
|
|
\subsection{Diagram průběhu}
|
|
\begin{figure}[!hbt]
|
|
\centering
|
|
\includegraphics[width=0.99\textwidth]{semaphorediagram}
|
|
\caption{Diagram průběhu zapojení ve funkci semaforu}
|
|
\label{circuit}
|
|
\end{figure}
|
|
|
|
\newpage
|
|
|
|
\section{Závěr}
|
|
V tomto protokolu bylo naším úkolem sestavit pravdivostní tabulku sčítače a využít ji k funkci semaforu.\\
|
|
Ke každému semaforu bylo tedy nutné vytvořit Karnaughovu mapu a za její pomoci
|
|
vytvořit obvody k jednotlivým výstupům.\\
|
|
Nevyužité stavy čítače bylo možné využít k lepší minimalizaci rovnic.
|
|
|
|
\end{document}
|