Предмет:
Тип роботи:
Курсова робота
К-сть сторінок:
24
Мова:
Українська
Він оснащений двома входами і двома виходами: Q-прямий вихід; і - інверсний.
У середовищі ElectronicsWorkbenchреалізуємо асинхронний RS-тригер на основі логічних елементів 2АБО-НІ.
Рис. 2. 1 – Асинхронний RS-тригер на логічних елементах 2АБО-НІ
Розглянемо принцип роботи даного тригеру.
В нульовий момент часу, коли на жоден вхід (R і S) не подали логічну одиницю, прямий вихід Q = 0, інверсний, відповідно, = 1. Якщо на вхід S подати напругу, рівень якої відповідатиме одиниці, то вихід Q стрибкоподібно змінить своє значення на 1, а на 0. В даному випадку відбудеться запис інформації. Якщо прибрати одиницю з «Set», тоді виходи не змінять свій стан, залишаться такими, якими були – прояв властивості пам'яті. При подачі позитивного сигналу на вхід скидання, тобто R = 1, інверсний вихід різко стане дорівнювати 1, а прямий Q – 0. У роботі
RS-тригера є недолік: існує заборонена комбінація. Не можна одночасно подавати поодинокі сигнали на обидва входи, нормальна робота тригера в цьому випадку неможлива.
Рис. 2. 2 – Робота тригера при R = 0, S = 1
Рис. 2. 3 – Робота тригера при R = 1, S = 0
Згідно вище описаному принципу роботи тригера побудуємо таблицю істинності.
Таблиця 2. 1 – Таблиця істинності тригера
RSQ (t) Q (t+1) Опис
0000Зберігання інформації
0011
0101Установка “1”
0111
1000Установка “0”
1010
110*Заборонена комбінація
111*
* – неможливий стан
Реалізуємо RS-тригер у середовищі Active-HDL та складемо його структурний опис.
Оскільки у вбудованій бібліотеці VHDL немає елемента RS-тригер, його треба створити. Для початку створимо та пропишемо лістинг логічних елементів: АБО-НІ та НІ.
Лістинг елемента АБО-НІ:
library IEEE;
use IEEE. STD_LOGIC_1164. all;
entity abo_ni is
port (
x1: in STD_LOGIC;
x2: in STD_LOGIC;
y: out STD_LOGIC
) ;
end abo_ni;
architecture abo_ni of abo_ni is
begin
y <= not (x1 or x2) after 2 ns;
end abo_ni;
Лістинг елемента НІ:
library IEEE;
use IEEE. STD_LOGIC_1164. all;
entity ni is
port (
x: in STD_LOGIC;
y: out STD_LOGIC
) ;
end ni;
architecture ni of ni is
begin
y <= not x after 2 ns;
end ni;
Зберігаємо дані файли та компілюємо.
Далі створюємо новий файл Blockdiagram, на якому позначаємо входи та вихід майбутнього RS-тригера.
Створені щойно елементи з’явились в даному робочому просторі, які можна побачити на панелі інструментів ShowSymbolsToolbox (S).
Блок-діаграма RS-тригера має вигляд:
Рис. 2. 4 – RS-тригер, спроектований у програмі VHDL
Таблиця 2.2 – Таблиця функціонування тригера
RSQN
00N
010
1-1
Символ N означає незмінне (попереднє) значення сигналу, через “-” позначено будь-яке із значень сигналу (0, 1).
Згідно таблиці функціонування тригера складемо його алгоритмічний опис. Для цього використаємо оператор process.
library IEEE;
use IEEE. STD_LOGIC_1164. all;
entity RS_trigger2 is
port (
R: in STD_LOGIC;
S: in STD_LOGIC;
Q: out STD_LOGIC
) ;
end RS_trigger2;
architecture RS_trigger2 of RS_trigger2 is
begin
process (R, S)
begin
if R='0'
then if S='0'
then Q <= S;
end if;
if S='1'
then Q <= '0';
end if;
end if;
if R='1'
then Q <= '1';
end if;
end process;
end RS_trigger2;
Побудуємо часову діаграму роботи тригера, реалізованого при структурному описі. Пункт меню Simulation →Initializesimulation →Newwaveform. Перетаскуємо на робочу область ініціалізований файл, згідно якого побудується часова діаграма.
Задаємо частоту вхідних сигналів R та S. На діаграмі NET66 та NET90 – елементи АБО-НІ та НІ, які були створені в ході програми.
Натискаємо кнопку RunFor (F5) для побудови часової діаграми.
Рис. 2. 5 – Часова діаграма роботи тригера
Зафарбовані сірим кольором переходи на виході Q означають невизначені стани (згідно таблиці функціонування тригера).
Побудуємо часову діаграму роботи тригера, реалізованого при алгоритмічному описі.
Рис. 2.6 – Часова діаграма роботи тригера
Висновки до розділу
В даному розділі була проведена розробка перетворювача логічного синтезу, а саме RS-тригера. Виконаний структурний та алгоритмічний опис пристрою, побудовані його часові діаграми, які відповідають заданій таблиці функціонування. Також виконана реалізація даного елементу в середовищі ElectronicsWorkbench, описаний принцип роботи схеми.
3. РОЗРОБКА БЛОК-СХЕМИ ТА ДІАГРАМИ СТАНІВ РОБОТИ ПРИСТРОЮ
Реалізуємо роботу системи керування складом готової продукції за допомогою діаграми станів. Діаграма станів будується в програмі Active-HDL.
Оскільки створюється нова діаграма станів, для неї необхідно створити свій власний файл бібліотеки, в який включити інформації щодо входів, виходів та станів даної системи.
Створюємо звичайний файл vhdl-source під назвою my_type, в який вписуємо наступний лістинг:
package my_type is
type type1 is (x1, x2, x3) ; -- vhodu
type type2 is (y1, y2, y3) ; -- vіhodu
end my_type;
Зберігаємо файл (Ctrl+S) та компілюємо його (F11). Після компіляції біля імені повинна з’явитися зелена галочка – це означає, що компіляція пройшла успішно й помилки не виявлені.
Рис. 3. 1 – Успішна компіляція
Далі створений щойно файл треба підключити до загальних бібліотек. На створеному файлі діаграми станів угорі можна спостерігати надпис, на якому натиснути правою кнопкою миші та в контекстному меню обрати Властивості.
Рис. 3.2 – Контекстне меню файлу діаграми станів
У вкладці DesignUnitHeaderвідкритого вікна CodeGenerationSettingsокрім існуючих бібліотек прописуємо нещодавно створену.
Рис. 3. 3 – Додання власної бібліотеки
Тепер програма остаточно готова до роботи.
Задаємо входи х, Reset, синхровхід clkта вихід y.
Рис. 3. 4 – Входи та вихід діаграми
Для побудови діаграми станів потрібно застосувати стани (зелені кола) та переходи між ними (стрілки). У властивостях кожної стрілки (її контекстне меню) задається умова переходу з одного стану в інший.
Рис. 3. 5 – Задання умови переходу
Рис. 3. 6 – Задання умови переходу
У полі Conditionзадаємо умову переходу (при якому значенні вхідного сигналу здійсниться перехід), а в полі Action вписуємо дію, яка виконається при виконанні заданої умови (значення перейде до певного виходу).
Аналогічно задаємо умови переходу для всієї діаграми станів.
Готова діаграма має вигляд:
Рис. 3. 7 – Діаграма станів системи керування складом готової продукції
Далі у властивостях входів та виходів необхідно задати кожному відповідний тип, який раніше було прописано в бібліотеці.
Рис. 3. 8 – Задання типу входів та виходів
Висновки до розділу
В даному розділі була реалізована робота системи керування складом готової продукції за допомогою діаграми станів. Діаграма побудована на основі таблиці станів кінцевого автомату Мілі, складеної в першому розділі.
4. ТЕСТУВАННЯ РОБОТИ ПРИСТРОЮ ТА АНАЛІЗ ЧАСОВИХ ДІАГРАМ
Побудуємо часову діаграму роботи тригера, реалізованого при структурному описі. Пункт меню Simulation →Initializesimulation →Newwaveform. Перетаскуємо на робочу область ініціалізований файл, згідно якого побудується часова діаграма.
Задаємо частоту вхідних сигналів R та S. На діаграмі NET66 та NET90 – елементи АБО-НІ та НІ, які були створені в ході програми.
Натискаємо кнопку RunFor (F5) для побудови часової діаграми.
Рис. 4. 1 – Часова діаграма роботи тригера
Зафарбовані сірим кольором переходи на виході Q означають невизначені стани (згідно таблиці функціонування тригера).
Побудуємо часову діаграму роботи тригера, реалізованого при алгоритмічному описі.
Рис. 4. 2 – Часова діаграма роботи тригера
Висновки
В ході виконання курсової роботи було спроектовано та написано програму для функціональної системи, що керує складом готової продукції.
Було виконано такі єтапи:
- ознайомлення з мовою VHDL, її перевагам та недолікам, а також огляду та опису функціонування системи керування складом готової продукції.
- виконаний аналіз, опис та побудова асинхронного RS-тригера, що відповідає роботі даної системи. RS-тригер побудований на логічних елементах.
- розробка та реалізація діаграми станів кінцевого автомату, що відповідає функціонуванню системи керування складом.
Список використаних джерел
- Алексенко А. Г., Шагурин П. И. Микросхемотехника: Учеб. пособие для вузов. – М. : Радио и связь, 1990, – 496 с.
- Бабич М. П., Жуков І. А. Комп'ютерна схемотехніка. Навч. посібник. – К. : НАУ, 2002. – 508 с.
- Горошков Б. И. Радиоэлектронные устройства: Справочник / Б. И. Горошков. – М. : Радио и связь, 1984. – 400 с.
- Генератор импульсов прямоугольной формы [Електронний ресурс] – Режим доступу: http://edu.dvgups.ru/METDOC/GDTRAN/YAT/TELECOMM/METR_SERT/METOD/LAB_2/fr...
- Бибило П. Н. Основы языка VHDL. – Мінськ: Ин-т техн. кибернетики НАН Беларуси, 1999. – 202 с. – ISBN 985-6453-30-5.