Файл: Исследование модели модулей Разработка интерфейса и архитектуры модулей.rtf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.03.2024

Просмотров: 18

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Содержание
Введение

1. Теоретическая часть

2. Построение структурной схемы

3. Разработка и исследование модели модулей

    1. Разработка интерфейса и архитектуры модулей

      1. Разработка модели дешифратора 4 х 16 х 1 бит

      2. Разработка модели двоичного счётчика со сбросом

      3. Разработка элемента обработки сигнала для жёлтого света

      4. Разработка элемента обработки сигнала для зелёного света

      5. Разработка элемента обработки сигнала для красного света пешеходу

      6. Разработка элемента обработки сигнала для красного света

      7. Разработка элемента превращения счётчика в делитель частоты на 5

    2. Исследование работы моделей модулей

4. Исследование структурной модели устройства в целом с использованием моделей узлов

5. Анализ пригодности разработанных моделей для имплементации в PLD

Заключение

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

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

При выполнении данного проекта при помощи графа состояний и триггеров, а затем в аппаратном виде - он может служить наглядным пособием по дисциплине «Прикладная Теория Цифровых Автоматов (ПТЦА)»!

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




  1. Теоретическая часть



Рассмотрим дорожный светофор, один из четырёх светофоров обычно стоящих на переходе. Он двухсторонний, одна сторона обращена к водителям, а другая к пешеходам. Сторона обращённая к пешеходам имеет 2 света: красный и зелёный, а к водителям – три: красный, жёлтый и зелёный. Кроме того для водителя некоторое время перед сменой состояния мигает зелёный свет.

Следовательно автомат управления светофором имеет 5 состояний, определённых для водителя, и 2 состояния, определённых для пешехода.

Эти состояния можно наглядно представить в виде графов приведённых на рис. 1 и рис. 2.


Рис. 1. Граф состояний светофора для водителя


Рис. 2. Граф состояний светофора для пешехода
Также светофор можно перевести в мигание, то есть неработающее состояние – светофор мигает жёлтым светом и должен интерпретироваться участниками дорожного движения как неработающий




  1. Построение структурной схемы


По техническому заданию светофор имеет как статические так и динамические состояния – мигание, поэтому воспользуемся генераторам сигналов. Затем для получения кратных интервалов времени для включения света используем делитель частоты, затем последовательно включаем счётчик для адресации дешифратора. А от дешифратора, после обработки, выходные сигналы вызывают зажигание необходимого света. Структурная схема приведена на рис 3.


Рис. 3. Структурная схема управления светофором.
Схема работает следующим образом. Генератор частоты создаёт прямоугольные импульсы с заданной частотой. Затем они используются в делителе, а также для мигания зелёного и жёлтого света.

Делитель на 5, основанный на счётчике типа К155ИЕ7 – выдаёт кратный сигнал на счётчик адресующий – перебирающий адреса на дешифраторе. Дешифратор поочерёдно подаёт “1” на каждый из выходов, объединив эти выводы в группы мы тем самым получили необходимую продолжительность горения каждого из цветов.

Также при подаче входного сигнала на ключ – светофор включается или выключается (нормальный режим или мигание жёлтого света).

Выводы схемы подсоединим к индикаторам (диоды или лампы).



3. Разработка и исследование модели модулей


    1. Разработка интерфейса и архитектуры модулей




      1. Разработка модели дешифратора 4 х 16 х 1 бит


entity DEC416 is

port (

A3,A2,A1,A0 : in std_logic ;

Z7,Z6,Z5,Z4,Z3,Z2,Z1,Z0 : out std_logic ;

Z15,Z14,Z13,Z12,Z11,Z10,Z9,Z8 : out std_logic

) ;

end DEC416 ;
architecture dc1 of DEC416 is

begin

process(A3,A2,A1,A0)

begin

Z15 <= A3 and A2 and A1 and A0 after 1 ns ;

Z14 <= A3 and A2 and A1 and (not A0) after 1 ns ;

Z13 <= A3 and A2 and (not A1) and A0 after 1 ns ;

Z12 <= A3 and A2 and (not A1) and (not A0) after 1 ns ;

Z11 <= A3 and (not A2) and A1 and A0 after 1 ns ;

Z10 <= A3 and (not A2) and A1 and (not A0) after 1 ns ;

Z9 <= A3 and (not A2) and (not A1) and A0 after 1 ns ;

Z8 <= A3 and (not A2) and (not A1) and (not A0) after 1 ns ;

Z7 <= (not A3) and A2 and A1 and A0 after 1 ns ;

Z6 <= (not A3) and A2 and A1 and (not A0) after 1 ns ;

Z5 <= (not A3) and A2 and (not A1) and A0 after 1 ns ;

Z4 <= (not A3) and A2 and (not A1) and (not A0) after 1 ns ;

Z3 <= (not A3) and (not A2) and A1 and A0 after 1 ns ;

Z2 <= (not A3) and (not A2) and A1 and (not A0) after 1 ns ;

Z1 <= (not A3) and (not A2) and (not A1) and A0 after 1 ns ;

Z0 <= (not A3) and (not A2) and (not A1) and (not A0) after 1 ns ;

end process ;

end dc1 ;


      1. Разработка модели двоичного счётчика со сбросом

library ieee ;

use ieee.std_logic_1164.all ;

use ieee.std_logic_arith.all;
entity CNTB4UR is

port( CLK,RST : in std_logic;

Q3,Q2,Q1,Q0 : out std_logic

) ;

end CNTB4UR ;
architecture v1 of CNTB4UR is

signal count_i : unsigned (3 downto 0);

begin

process(CLK,RST,count_i)

begin

if (RST='1') then

count_i <= x"0" ;

elsif (CLK = '1' and CLK'event) then

count_i <= count_i + "1" ;

end if;

end process;

Q3 <= count_i(3) after 1 ns ;

Q2 <= count_i(2) after 1 ns ;

Q1 <= count_i(1) after 1 ns ;

Q0 <= count_i(0) after 1 ns ;

end v1;


      1. Разработка элемента обработки сигнала для жёлтого света

library ieee ;

use ieee.std_logic_1164.all ;

use ieee.std_logic_arith.all;
entity Ylw is

port (In0, In8, K1: in std_logic;

OnYlw: out std_logic

);

end Ylw;
architecture ye1 of Ylw is

begin

process(In0,In8,K1)

begin

OnYlw<=(In0 or In8) and K1;

end process;

end ye1;


      1. Разработка элемента обработки сигнала для зелёного света

library ieee ;

use ieee.std_logic_1164.all ;

use ieee.std_logic_arith.all;
entity Green is

port (In9, In10, In11, In12, In13, In14, In15, CLK: in std_logic;

OnGreen: out std_logic);

end green;
Architecture g1 of Green is

begin

process(In9, In10, In11, In12, In13, In14, In15, CLK)

begin

OnGreen<=In9 or In10 or In11 or In12 or In13 or In14 or (In15 and CLK);

end process;


end g1;


      1. Разработка элемента обработки сигнала для красного света пешеходу

library ieee ;

use ieee.std_logic_1164.all ;

use ieee.std_logic_arith.all;
entity OR4 is

port (

IN0,IN8,green,IN15 : in std_logic ;

OnRedP : out std_logic

) ;

end OR4 ;
architecture v1 of OR4 is

begin

process(IN0,IN8,green,IN15)

begin

OnRedP <= IN0 or IN8 or IN15 or green;

end process;

end v1 ;


      1. Разработка элемента обработки сигнала для красного света

library ieee ;

use ieee.std_logic_1164.all ;
entity OR7 is

port (

IN6,IN5,IN4,IN3,IN2,IN1,IN0 : in std_logic ;

Z : out std_logic

) ;

end OR7 ;
architecture v1 of OR7 is
begin

Z <= IN6 or IN5 or IN4 or IN3 or IN2 or IN1 or IN0 after 1 ns ;
end v1 ;


      1. Разработка элемента превращения счётчика в делитель частоты на 5

library ieee ;

use ieee.std_logic_1164.all ;

use ieee.std_logic_arith.all;
entity AND3B1 is

port (

IN2,IN1,IN0 : in std_logic ;

del5 : out std_logic

) ;

end AND3B1 ;
architecture v1 of AND3B1 is

begin

del5 <= IN2 and IN0 and (not IN1);

end v1 ;


    1. Исследование работы моделей модулей


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

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


Рис. 4. Временная диаграмма элемента обработки сигнала для жёлтого света.

Видно что имеются 2 состояния: рабочее и нерабочее, задаваемое KEY.


Рис. 5. Временная диаграмма счётчика
Используются 3 выхода, при этом мы обязательно должны произвести первоначальный сброс системы, т.к. первоначальное состояние счётчика- неопределённость. Видно что счётчик работоспособен и соответствует требованиям.



Рис. 6. Временная диаграмма деления на 5.


Рис. 7. Временная диаграмма адресующего счётчика от 0 до 15.


Рис. 8. Временная диаграмма дешифратора 4х16.


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

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

В качестве внешних портов ввода-вывода устройства используются следующие:

  • Входной тактовый сигнал;

  • вход сброса и переключения состояний (Key);

  • выход на жёлтый цвет;

  • выход на красный цвет;

  • выход на зелёный цвет;

  • выход на красный цвет пешеходу;

  • выход на зелёный цвет пешеходу;

- Дополнительно при подготовке под прошивку добавлен выход адресации 7-сегментного индикатора “adres7”
entity svet is

port(

CLK:in std_logic;

Key: in std_logic;

ToRed,ToGreen,ToYellow,ToRedP,ToGreenP:out std_logic

);

end svet;

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

use ieee.std_logic_1164.all ;

use ieee.std_logic_arith.all;

-- 4 to 16-bit Decoder

-- Philips CPLD Applications

-- Aug 26, 1998

entity DEC416 is

port (

A3,A2,A1,A0 : in std_logic ;

Z7,Z6,Z5,Z4,Z3,Z2,Z1,Z0 : out std_logic ;

Z15,Z14,Z13,Z12,Z11,Z10,Z9,Z8 : out std_logic

) ;

end DEC416 ;
architecture dc1 of DEC416 is

begin

process(A3,A2,A1,A0)

begin

Z15 <= A3 and A2 and A1 and A0 after 1 ns ;

Z14 <= A3 and A2 and A1 and (not A0) after 1 ns ;

Z13 <= A3 and A2 and (not A1) and A0 after 1 ns ;

Z12 <= A3 and A2 and (not A1) and (not A0) after 1 ns ;