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

Тип работы:
Лабораторная работа
Предмет:
Физико-математические науки


Узнать стоимость

Детальная информация о работе

Выдержка из работы

1. Техническое задание

Прикроватный монитор пациента «ПМП»

1 НАИМЕНОВАНИЕ И ОБЛАСТЬ ПРИМЕНЕНИЯ

1. 1 Прикроватный монитор пациента

(далее «ПМП»).

1.2 «ПМП» используется в больницах для поддержания и контроля жизнедеятельности пациента.

2 СОСТАВ КОМПЛЕКТА

2.1 «ПМП», -1 шт.

2.2 Кабель силовой, -1 шт.

2.3 Кабель ЭКГ на 3/6 электродов 3 м, -1 шт.

2.4 Кабель пациента на 3 отведения 0,8 м, -1 компл.

2.5 Одноразовые электроды (комплект 30 шт.)

2.6 Кабель пульсоксиметрии

2.7 Воздушный шланг для взрослых и детей 3,5 м

2.8 Комплект батареи

3 ТЕХНИКО-ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ

3.1 «ПМП» должна обладать функцией одновременного отображение на экране 5 линий (отображение 2 отведений) (12 цветов), замораживание кривых-обязательно.

3.1. 1 «ПМП» должна обладать функцией отображаемые числовых данных таких как: ЧСС, частота VPC, уровень ST, частота дыхание, IBP (систолическое, диастолическое, среднее), NIBP (систолическое, диастолическое, среднее), SpO2, частота пульса, температура и ETCO2.
3.1.2 Введенные настройки должны отображаться на дисплее после их применения через равные промежутки времени (5−10 сек)

3.2 Программное обеспечение должно быть на русском и английском языке.

3.2. 1Необходимо запоминание личных данных пациента.
3.2.2 Наличие настраиваемых функциональных кнопок не менее трех.

3.3 Типы звуков: тревога, синхронизация, нажатие кнопок

3.4 Индикация тревоги: индикатор сигнала тревоги, подсвеченное сообщение, звук сигнала тревоги.

3.5 Необходимо, чтобы «ПМП» определяло уровни важности тревог: rритический, предупредительный, рекомендательный.

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

4 УСЛОВИЯ ЭКСПЛУАТАЦИИ И ХРАНЕНИЯ

4.1 «ПМП» должна сохранять работоспособность при воздействии следующих параметров окружающей среды:

· Температура: от +10 до + 40 єС

· Относительная влажность воздуха до 99%

4.2 «ПМП» должна сохранять работоспособность при наличии следующих механических воздействий:

· Вибрация с ускорением 10g

· Ударные нагрузки до 15g

4.4 «ПМП» должна сохранять работоспособность после механических воздействий в виде вибрации с ускорением 20g продолжительностью 15 минут и ударных нагрузок с ускорением 30g в количестве 10 раз.

5 КОНСТРУКТИВНОЕ ИСПОЛНЕНИЕ

· 5.1 «ПМП» должна быть исполнена в виде:

· Внутренние размеры около 320Ч170Ч280

· Вес «ПМП» 5,5 кг.

· Вес в коробке 9.5 кг.

6 ТРЕБОВАНИЯ К УСЛОВИЯМ ТРАНСПОРТИРОВКИ

6.1 Изделие должно транспортироваться в штатной упаковке

6.2 Изделие предназначено для транспортировки автомобильным, железнодорожным, авиационным и водным транспортом, без нарушения условий хранения.

7 ТЕХНИКО-ЭКОНОМИЧЕСКИЕ ТРЕБОВАНИЯ

7.1 Стоимость комплекта изделия, при производстве 1000 шт., не должна превышать 50 000 руб.

7.2 Срок гарантийного обслуживания — 2 года с момента покупки

2. Блок-схема цифрового узла

1. В ходе выполнения лабораторной работы № 2 в среде разработки Quartus была разработана блок-схема цифрового узла (Рис. 1), схема «вычислителя, определяющего наибольшее число из двух введенных» (с выводом на семисегментный индикатор) выглядит следующим образом:

программирование порт цифровой микросхема

Рисунок 1 «Блок-схема цифрового узла»

В данной схеме используются следующие компоненты:

· Lpm_compare (компаратор)

· Lpm_dff (D-триггер)

· Lpm_divide (делитель)

· 7SegIndication (семисегментный индикатор)

· MyCompare (Вычислитель, определяющий наибольшее из двух чисел)

· OUTPUT — выходной порт:

Во время разработки цифрового узла, возникла надобность в создании кодера (7SegIndication) для вывода цифр на семисегментный индикатор, а также компаратора (MyCompare), сравнивающего два числа и выводящего наибольшее из двух чисел. Код этих элементов на языке AHDL приведен в приложении 1 и 2.

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

3. Описание цифрового узла на языке AHDL

При создании элемента с помощью графического редактора, создается и его текстовое описание на языке AHDL. Пользуясь оператором включения Include, импортируем эти элементы в нашу программу. Файлы с расширением. inc служат для вызова функционального блока с указанными (в файле) входами и выходами. Весь код программы находится в приложении 1.

4. Привязка портов к сигналам и программирование микросхемы

Через утилиту Pin Planner, встроенную в систему Quartus, привяжем сигналы к портам микросхемы. Изначально у нас имеется проект выполненный в виде блок-схемы, созданный под нашу плату (MAX700S EPM7128SLC84−7). Блок-схема описания цифрового узла была выбрана по следующим причинам:

1. Легко видно, какой сигнал куда подается.

2. Можно не пропустить необходимые данные.

3. Меньше литературы нужно изучить для выполнения ее построения.

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

Рисунок 3. МС MAX7000S портами, привязанными к сигналам

Рисунок 4 «Таблица привязки портов к сигналам»

Для успешной компиляции проекта, необходимо удалить из таблицы порты конфигурирования платы (TMS, TCK, TDI, TDO), поскольку они уже привязаны. После компиляции создается программный образ для PLD (в папке проекта файл с расширением. pof), который можно внедрять в учебно-лабораторный макет UP-1.

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

После привязки портов мы должны выполнить подготовку платы, связав необходимые порты с DIP-переключателями, кнопкой и светодиодами. А затем запускаем программирование микросхемы через утилиту Programmer, так же встроенную в систему Quartus, задав необходимые параметры программирования (Рисунок 4).

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

Вывод

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

Приложение 1

Title «MaxValue»;

INCLUDE «7SegIndication. inc»;

INCLUDE «MyCompare. inc»;

INCLUDE «lpm_compare0. inc»;

INCLUDE «lpm_dff0. inc»;

INCLUDE «lpm_divide0. inc»;

SUBDESIGN MAXVALUE

(

A [6. 0]: INPUT;

B [6. 0]: INPUT;

Clk: INPUT;

ShowMaxValue: INPUT;

Result [6. 0]: OUTPUT;

a1, b1, c1, d1, e1, f1, g1: OUTPUT;

a2, b2, c2, d2, e2, f2, g2: OUTPUT;

)

VARIABLE

Compare1, Compare2: lpm_compare0;

D_FlipFlop: lpm_dff0;

Divider: lpm_divide0;

MyCompare1: MyCompare;

SevenSeg1, SevenSeg2: 7SegIndication; - Старшая и младшая цифра

EnableClock, Module [3. 0]: NODE;

BEGIN

— для деления по модулю 10

Module [3. 0] = 10;

-

— Описание условия разрешения импульсов

EnableClock = ShowMaxValue & Compare1. AlB & Compare2. AlB;

Compare1. dataa [6. 0] = A [6. 0];

Compare2. dataa [6. 0] = B [6. 0];

-

— Вычислитель максимального значения

MyCompare1. DataA [6. 0] = A [6. 0];

MyCompare1. DataB [6. 0] = B [6. 0];

-

— Запоминание максимального числа

D_FlipFlop. clock = Clk;

D_FlipFlop. enable = EnableClock;

D_FlipFlop. data [6. 0] = MyCompare1. Result [6. 0];

Result [6. 0] = D_FlipFlop.q [6. 0];

-

— Вывод максимального числа на семисегментный индикатор

Divider. numer [6. 0] = D_FlipFlop.q [6. 0];

Divider. denom [3. 0] = Module [3. 0];

SevenSeg1. data [3. 0] = Divider. quotient [3. 0];

SevenSeg2. data [3. 0] = Divider. remain [3. 0];

a1 = SevenSeg1. a; b1 = SevenSeg1. b; c1 = SevenSeg1. c;

d1 = SevenSeg1. d; e1 = SevenSeg1. e; f1 = SevenSeg1. f;

g1 = SevenSeg1. g; a2 = SevenSeg2. a; b2 = SevenSeg2. b;

c2 = SevenSeg2. c; d2 = SevenSeg2. d; e2 = SevenSeg2. e;

f2 = SevenSeg2. f; g2 = SevenSeg2. g;

END;

Приложение 2

программирование порт цифровой микросхема

7SegIndication. inc

FUNCTION 7SegIndication (data[3. 0])

RETURNS (a, b, c, d, e, f, g);

MyCompare. inc

FUNCTION MyCompare (DataA[6. 0], DataB [6. 0])

RETURNS (Result [6. 0]);

lpm_dff0. inc

FUNCTION lpm_dff0 (clock, data [6. 0], enable)

RETURNS (q [6. 0]);

lpm_compare0. inc

FUNCTION lpm_compare0 (dataa[3. 0])

RETURNS (AlB);

lpm_divide0. inc

FUNCTION lpm_divide0 (denom [3. 0], numer [6. 0])

RETURNS (quotient [6. 0], remain [3. 0]);

ПоказатьСвернуть
Заполнить форму текущей работой