Вычислитель, определяющий наибольшее число из двух введенных и выводящий его на сисесигментный индикатор
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]);