Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / docx59 / docx177 / курсач(14).docx
Скачиваний:
28
Добавлен:
01.08.2013
Размер:
1.17 Mб
Скачать

1 Анализ исходного устройства.

1.1 Анализ исходной схемы.

Схема устройства состоит из генератора на элементахDD1.1,DD1.2 и транзистореVT1, буферный элементDD1.3, счетчикDD2, набор инверторов-повторителейDD4.1-DD4.4, узел управления ими (DD1.4,DD3.1) и дешифраторDD5, к выходам которого подключены светодиодыHL1-HL16. Тактовые импульсы с выхода генератора, собранного на элементахDD1.1,DD1.2 и транзистораVT1, через буферный элементDD1.3 поступают на вход С1 счетчикаDD2. Его выходные сигналы подаются на входы микросхемыDD4. Она представляет собой четыре независимых элемента “Исключающее ИЛИ” и работает по следующему алгоритму: если на обоих входах элемента присутствуют одинаковые логические сигналы, то на выходе элемента – лог. 0, а если разные – лог. 1. В данном случае элементы микросхемыDD4 выполняют функции управляемых инверторов –повторителей: в зависимости от уровня напряжения на объединенных входах они либо “пропускает” сигналы с выходов счетчикаDD2 на входы дешифратораDD5 напрямую, либо инвертируют их, за счет чего и происходит смена направления переключения светодиодовHL1-HL16 гирлянды. ЭлементамиDD4 управляет триггерDD3.1, включенный делителем на 2 (входDсоединен с инверсным выходом). С приходом на его вход С каждого импульса с выхода 8 счетчикаDD2 триггер изменяет сове состояние на противоположное и происходит смена направления переключения светодиодовHL1-HL16.

1.2 Анализ элементной базы

КР1533ЛА3 – микросхема представляющая 4 логических элемента ИСКЛЮЧАЮЩЕЕ ИЛИ:

Рис.1 – Условное графическое изображение КР1533ЛА3

Функции выводов микросхем:

− 1,2,4,5,9,10,12,13 - входы;

− 3,6,8,11 - выходы;

− 7 - “земля”;

− 14 - питание.

КР1533ИД3 – дешифратор, имеющий 4 адресных входа, 2 инверсных входа стробирования, 16 выходов.

Рис.2 – Условное графическое изображение КР1533ИД3

Функции выводов микросхемы:

− 23,22,21,20 – адресные входы;

− 18, 19 – входы стробирования;

− 1-12,14-17 – выходы;

− 13 – питание;

− 24 - “Земля”.

КР1533ИЕ5 – счетчик с максимальным коэффициентом пересчета 16.

Рис.3 – Условное графическое изображение КР1533ИЕ5.

Функции выводов микросхемы:

− 1,14 – входы для счетных импульсов;

− 2,3 – входы для сброса счетчика;

− 8,9,11,12 – выходы.

КР1533ТМ2 – D-триггер со сбросом и предустановкой.

Рис.4 – Условное графическое изображение КР1533ТМ2

Функции выводов микросхемы:

− 1,4 – входы установки триггера в единичное, либо в нулевое состояние;

− 2 – вход установки триггера по тактовым импульсам входа С;

− 3 – вход тактовых импульсов;

− 5,6 – выходы триггера.

КР1533ЛА3 – микросхема содержащая 4 логических элемента 2И-НЕ

Рис.5 – Условное графическое изображение КР1533ЛА3

Функции выводов микросхемы:

− 1,2,4,5,10,9,12,13 – входы;

− 3,6,8,11 – выходы;

− 7 - “земля”;

− 14 - питание.

2. Синтез схемы на базе плис

2.1 Реализация исходной элементной базы и синтез схемы на плис

Для реализации исходной электрической схемы устройства и его функций на ПЛИС, необходимо заменить имеющуюся элементную базу на стандартные компоненты библиотеки XilinxISE, либо описать работу элементов в программном модулеVHDLMODULE.

Согласно алгоритму работы, устройство должно последовательно, поочередно зажигать светодиоды так, чтобы после последнего 16-го включенного светодиода процесс поочередного включения светодиодов шел в обратном направлении. При анализе исходной схемы были обнаружены ошибки в ее построении, из-за которых принцип работы схемы не соответствовал изначальному требованию. Модификация схемы коснулись кодовой комбинации, снимаемой со счетчика на вход триггера – основываясь заявленному алгоритму работы, кодовая комбинация должна включать все четыре разряда, что обеспечивает число 16, а не 8, как представлено в схеме журнала. В связи с этим, для переключения триггера по 16-му импульсу был использован логический элемент И, содержащий четыре инверсных входа и один выход. Вид переработанной схемы в XilinxISEпредставлен на рис. 6.

Рис.6 – Синтезированная схема в XilinxISE

В синтезированной схеме использовались библиотечные компоненты и компоненты написанные наVHDL. Из стандартных компонентов использовались элементыXOR2, заменяющие логические элементы “искл. ИЛИ”DD4, а так же триггерFDcоединенным инверсным элементом, заменяющим триггерDD3.1. Логический элемент “И-НЕ”DD1.4 был заменен на логический элемент И с четыремя инверсными входами.

Элемент XOR2 выполняет функцию “искл. ИЛИ”. Условно-графическое изображение вXilinxISEпредставлено на рис.7. Временная диаграммы работы на рис.8.

Рис.7 – Условно-графическое изображение элемента “искл. ИЛИ”.

Рис.8 – Временная диаграмма работы “искл. ИЛИ”.

Данный элемент используется в схеме с целью инвертирования входной последовательности кодов со счетчика на дешифратор: после того как его значение достигнет 16, сигнал с триггера активирует этот логический элемент и произойдет инверсия кодовой послежовательности.

Триггер FDcвыходом подключенным на вход данных через инверсный элемент выполняет функцию триггераDD3, который включен в режиме Т-триггера: меняет свое состояние по фронту тактового импульса. Условно-графическое изображение вXilinxISEпредставлено на рис.9. Временная

диаграммы работы на рис.10.

Рис.9 – Условно-графическое изображение триггера.

Рис.10 – Временная диаграмма работы триггера.

Элемент AND4B4 инверитрует входящие сигналы и выдает на выходе сигнал являющийся результатом логической операции “И”. Условно-графическое изображение вXilinxISEпредставлено на рис.11. Временная диаграммы работы на рис.12.

Рис.11 – Условно-графическое изображение логического элемента “И” c4-мя инверсными входами.

Рис.12 – Временная диаграмма работы логического элемента “И” c4-мя инверсными входами.

Элемент DD22 написан на языкеVHDL. Он представляет собой счетчик, аналогичный счетчикуDD2. По фронту тактового импульса выдает на выходе счетное число импульсов в двоичном коде. Коэффициент пересчета равен 16. Код счетчика наVHDL:

ibrary IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity DD22 is

Port ( C1 : in STD_LOGIC;

C_OUT : out STD_LOGIC_VECTOR (3 downto 0));

end DD22;

architecture Behavioral of DD22 is

begin

process (C1)

variable count : integer range 0 to 31:=0;

begin

if C1='1' and C1'event then

case count is

when 0 => C_OUT <= "0000";

when 1 => C_OUT <= "0001";

when 2 => C_OUT <= "0010";

when 3 => C_OUT <= "0011";

when 4 => C_OUT <= "0100";

when 5 => C_OUT <= "0101";

when 6 => C_OUT <= "0110";

when 7 => C_OUT <= "0111";

when 8 => C_OUT <= "1000";

when 9 => C_OUT <= "1001";

when 10 => C_OUT <= "1010";

when 11 => C_OUT <= "1011";

when 12 => C_OUT <= "1100";

when 13 => C_OUT <= "1101";

when 14 => C_OUT <= "1110";

when 15 => C_OUT <= "1111";

when others => C_OUT <= "0000";

end case;

count := count + 1;

end if;

if count=16 then count:=0;

end if;

end process;

Условно-графическое изображение в XilinxISEпредставлена на рис.11. Временная диаграммы работы на рис.12.

Рис.13 – Условно-графическое изображение счетчика.

Рис.14 – Временная диаграмма работы счетчика.

ЭлементDD5VHDнаписан также на языкеVHDL, представляет собой дешифратор на 16 с инверсными выходами. Код на языке VHDL:

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity DD5VHD is

Port ( A : in STD_LOGIC_VECTOR (3 downto 0);

D : out STD_LOGIC_VECTOR (15 downto 0);

E : in STD_LOGIC);

end DD5VHD;

architecture Behavioral of DD5VHD is

begin

process (E,A)

begin

if ( E = '1') then

case A is

when "0000" => D <= "1111111111111110";

when "0001" => D <= "1111111111111101";

when "0010" => D <= "1111111111111011";

when "0011" => D <= "1111111111110111";

when "0100" => D <= "1111111111101111";

when "0101" => D <= "1111111111011111";

when "0110" => D <= "1111111110111111";

when "0111" => D <= "1111111101111111";

when "1000" => D <= "1111111011111111";

when "1001" => D <= "1111110111111111";

when "1010" => D <= "1111101111111111";

when "1011" => D <= "1111011111111111";

when "1100" => D <= "1110111111111111";

when "1101" => D <= "1101111111111111";

when "1110" => D <= "1011111111111111";

when "1111" => D <= "0111111111111111";

when others => D <= "1111111111111111";

end case;

end if;

end process;

Условно-графическое изображение в XilinxISEпредставлена на рис.13. Временная диаграммы работы на рис.14.

Рис.15 – Условно-графическое изображение дешифратор.

Рис.16 – Временная диаграмма работы дешифратора.

Используя совокупность выбранных элементов, собранных в единую схему в XilinxISE, удалось получить ее временные диаграммы работы. Она представлена на рис.16.

Рис.16 – Временная диаграмма работы всего устройства.

Соседние файлы в папке docx177