Смекни!
smekni.com

Цифровой измеритель разности двух напряжений (стр. 2 из 2)

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

Входное напряжение (Ua);

Входное напряжение (Ub);

вход сброса (Reset1);

выход знака разности (znak)

выход цифрового кода, эквивалентного разности напряжений (cod_out).

library IEEE;

use IEEE. STD_LOGIC_1164. all, IEEE. Numeric_STD. all;

entity V_metr is

port (Ua: in integer range - 5 to 5;

Ub: in integer range - 5 to 5;

Reset1: in std_logic;

znak: out std_logic;

cod_out: out unsigned (3 downto 0));

end V_metr;

Ниже приведен листинг, описывающий работу устройства. Узлы, разработанные ранее, подключены в составе библиотеки "RGR" (library RGR).

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

architecture A10 of V_metr is

component GLIN

port (out1: out integer range 0 to 10;

not_out1: out integer range - 10 to 0);

end component;

component comp

port (U1: in integer range - 10 to 10;

U2: in integer range - 10 to 10;

U_out: out std_logic);

end component;

component gen

port (gen_out: out std_logic);

end component;

component dif_oy

port (In1: in integer range - 5 to 5;

In2: in integer range - 5 to 5;

Out1: out integer range - 10 to 10);

end component;

component counter

port (reset: in std_logic;

up: in std_logic;

C_out: out unsigned (3 downto 0));

end component;

component And_op

port (a: in std_logic;

b: in std_logic;

z: out std_logic);

end component;

component Or_op

port (a: in std_logic;

b: in std_logic;

c: in std_logic;

z: out std_logic);

end component;

component not_op

port (a: in std_logic;

z: out std_logic);

end component;

signal Ua_b: integer range - 10 to 10;

signal GLN: integer range 0 to 10;

signal NGLN: integer range - 10 to 0;

signal GND: integer range - 10 to 10;

signal nznak,R1: std_logic;

signal K1,K2,NK1,NK2,NK1_takt,NK2_takt,clock: std_logic;

signal takt,zk1,zk2,zk1_k2,zk2_k1,Res: std_logic;

begin

u1: dif_oy port map (In1=>Ua, In2=>Ub,Out1=>Ua_b);

u2: comp port map (U1=>Ua_b, U2=>GND, U_out=>nznak);

u3: not_op port map (a=>nznak, z=>znak);

u4: GLIN port map (out1=>GLN,not_out1=>NGLN);

u5: comp port map (U1=>Ua_b, U2=>GLN, U_out=>K1);

u6: comp port map (U1=>Ua_b, U2=>NGLN, U_out=>K2);

u7: Or_op port map (a=>K1, b=>K1,c=>K1, z=>NK1);

u8: not_op port map (a=>K2, z=>NK2);

u9: gen port map (gen_out=>takt);

u10: And_op port map (a=>NK1,b=>takt,z=>NK1_takt);

u11: And_op port map (a=>NK2,b=>takt,z=>NK2_takt);

u12: Or_op port map (a=>NK1_takt,b=>NK2_takt,c=>NK2_takt,z=>clock);

u13: counter port map (reset=>Res,up=>clock,C_out=>cod_out);

u14: not_op port map (a=>NK1,z=>zk1);

u15: not_op port map (a=>NK2,z=>zk2);

u16: And_op port map (a=>zk1,b=>NK2,z=>zk1_k2);

u17: And_op port map (a=>NK1,b=>zk2,z=>zk2_k1);

u18: Or_op port map (a=>zk1_k2,b=>zk2_k1,c=>zk2_k1,z=>R1);

u19: And_op port map (a=>R1,b=>Reset1,z=>Res);

В результате анализа модели устройства получена следующая временная диаграмма.

Рисунок 3.5 - Временная диаграмма, полученная при анализе модели устройства

Из диаграммы видно, что на выходе cod_out формируется цифровой код, эквивалентный разности напряжений Ua-Ub, поданных на вход устройства. С выхода znak снимается знак разности: 1, если Ua-Ub<0 и 0 если Ua-Ub>=0.

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

При проектировании цифрового устройства, для последующего имплементации в PLD, появляется ряд дополнительных трудностей, связанных с невозможностью использования некоторых типов данных и языковых конструкций. Так же приходится учитывать особенности имплементации для ПМЛ разных фирм и устанавливаемые ограничения: максимальная частота, количество доступных элементов и т.д. Наиболее эффективным способом в этом случае является построение структурных моделей с использованием библиотек компонентов поставляемых производителем конкретного типа ПМЛ. Однако в данной расчетно-графической работе этого не было сделано, так как основной целью было - приобретение навыков построение моделей отдельных узлов и структурных моделей. В целом при построении моделей цифровых узлов не использовались запрещенные языковые конструкции и типы данных, также были учтены ограничения на количество доступных элементов памяти и максимальную частоту сигнала.

Заключение

В ходе выполнения работы была построена и исследована модель цифрового измерителя разности двух напряжений.

Модель содержит не только цифровые блоки, но и аналоговые устройства. Были построены временные диаграммы сигналов, по которым можно судить об особенностях функционирования устройства.

При необходимости, для большей наглядности и удобства, модель можно дополнить дешифратором и цифровым семисегментным индикатором.