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

  • Вид работы:
    Практическое задание
  • Предмет:
    Математика
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    198,92 Кб
  • Опубликовано:
    2014-01-13
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

·        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.       Легко видно, какой сигнал куда подается.

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

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

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

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

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

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

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


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

 


Вывод


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

Приложение 1

«MaxValue»;

«7SegIndication.inc»;«MyCompare.inc»;«lpm_compare0.inc»;«lpm_dff0.inc»;«lpm_divide0.inc»;

MAXVALUE

([6..0]: INPUT;[6..0]: INPUT;: INPUT;: INPUT;[6..0]: OUTPUT;, b1, c1, d1, e1, f1, g1: OUTPUT;, b2, c2, d2, e2, f2, g2: OUTPUT;

)

, Compare2: lpm_compare0;_FlipFlop: lpm_dff0;: lpm_divide0;: MyCompare;, SevenSeg2: 7SegIndication; - Старшая и младшая цифра

EnableClock, Module [3..0]: NODE;

BEGIN

для деления по модулю 10[3..0] = 10;

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

EnableClock = ShowMaxValue & Compare1. AlB & Compare2. AlB;.dataa [6..0] = A [6..0];.dataa [6..0] = B [6..0];

-

Вычислитель максимального значения. DataA [6..0] = A [6..0];. DataB [6..0] = B [6..0];

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

D_FlipFlop.clock = Clk;_FlipFlop.enable = EnableClock;_FlipFlop.data [6..0] = MyCompare1. Result [6..0];


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

Divider.numer [6..0] = D_FlipFlop.q [6..0];.denom [3..0] = Module [3..0];.data [3..0] = Divider.quotient [3..0];.data [3..0] = Divider.remain [3..0];= SevenSeg1.a; b1 = SevenSeg1.b; c1 = SevenSeg1.c;= SevenSeg1.d; e1 = SevenSeg1.e; f1 = SevenSeg1.f;= SevenSeg1.g; a2 = SevenSeg2.a; b2 = SevenSeg2.b;= SevenSeg2.c; d2 = SevenSeg2.d; e2 = SevenSeg2.e;= SevenSeg2.f; g2 = SevenSeg2.g;;

Приложение 2

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

7SegIndication.inc

FUNCTION 7SegIndication (data[3..0])(a, b, c, d, e, f, g);

MyCompare.inc

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

lpm_dff0.inc

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

lpm_compare0.inc

FUNCTION lpm_compare0 (dataa[3..0])(AlB);

lpm_divide0.inc

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

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

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!