Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

Информатика->Реферат
Счисление, нумерация, - это совокупность приемов представления натуральных чисел В любой системе счисления некоторые символы ( слова или знаки ) служа...полностью>>
Информатика->Лабораторная работа
Программа, создаваемая в среде Delphi в процессе проектирования приложения, основана на модульном принципе Главная программа состоит из объявления спи...полностью>>
Информатика->Лабораторная работа
Запустите Delphi и создайте новый проект (см лаб раб №1) В окне Save As создайте новую папку для файлов проекта, папку назовите "Вещественное деление"...полностью>>
Информатика->Лабораторная работа
Задание 1 (Калькулятор) Создайте приложение, обеспечивающее ввод двух целых чисел и выполнение над ними арифметических операций сложения, умножения и ...полностью>>

Главная > Реферат >Информатика

Сохрани ссылку в одной из сетей:

- 3 -

КИВШ.00223-01

Обозначение Наименование Примечание




Документация



КИВШ.00223-01-ЛУ Лист утверждения



КИВШ.00223-01 12 Текст программы



КИВШ.00223-01 12-ЛУ Лист утверждения



КИВШ.00233-01 13 Описание программы



КИВШ.00223-01 13-ЛУ Лист утверждения



КИВШ.00223-01 34 Руководство оператора



КИВШ.00223-01 34-ЛУ Лист утверждения



КИВШ.00223-01 90 Загрузочные файлы ГМД



КИВШ.00223-01 90-ЛУ Лист утверждения



КИВШ.00223-01 91 Техническое задание



КИВШ.00223-01 91-ЛУ Лист утверждения


































































КИВШ.00223-01 34

УТВЕРЖДЕН

КИВШ.00223-01 34-ЛУ

Многофункциональный пульт управления МФПУ

Контрольно-проверочная программа

РУКОВОДСТВО ОПЕРАТОРА

КИВШ.00223-01 34

Листов 11

1999 г

Аннотация

В настоящем документе приводится руководство оператора контрольно-проверочной программы пульта МФПУ.

Содержание

Аннотация 2

Содержание 3

1 Назначение программы 4

2 Условия выполнения программы 4

3 Выполнение программы и сообщения оператору 5

Перечень сокращений 12

1Назначение программы

Программа выполняет следующие функции:

  1. Выдача на ЖКИ МФПУ и терминал МПР инструкций пользователю по проведению контроля ( с предложением выбрать определенный набор тестов ).

  2. Контроль аппаратуры модуля МПР.

  3. Контроль связи модуля МПР с другими модулями в составе МФПУ.

  4. Контроль аппаратуры модулей в составе МФПУ, не имеющих собственных процессоров.

  5. Запуск контрольно-проверочных программ процессоров МВВ, МДК, МКК и МСК.

  6. Запуск программ связи с пользователем, требующих его участия.

  7. Отображение результатов контроля на ЖКП МФПУ.

  8. Подробное отображение хода и результатов контроля на терминале технологического компьютера.

  9. Передача информации о ходе и результатах контроля в КЛС.

2Условия выполнения программы

2.1Аппаратурные средства

Для выполнения программы необходимо следующее оборудование:

  • персональный компьютер семейства IBM PC.

  • пульт МФПУ;

  • жгут соединительный между МФПУ и компьютером, распаянный как «Нуль-модем» для связи по линии RS-232.

  • технологическая рама или жгуты-заглушки ( в первой версии не требуются ).

2.2Программные средства

В технологическом компьютере должно быть установлено следующее программное обеспечение:

  • операционная система MS-DOS 6.22;

  • драйвер-русификатор дисплея;

  • программа SmartLink для поддержания связи с МФПУ.

В процессоре МПР пульта МФПУ должно быть установлено следующее программное обеспечение:

  • MS-DOS 6.22 ( встроенная ROM-версия );

  • резидентная часть программы SmartLink.

В памяти модулей пульта МФПУ, имеющих собственные поцессора, должны располагаться контрольно-проверочные программы этих модулей ( в первой версии не требуется ).

Программное обеспечение процессора МДК должно предусматривать вывод на ЖКП кадров КПП.

3Выполнение программы и сообщения оператору

3.1Запуск программы

Для запуска программы необходимо произвести следующие действия:

  • включить питание МФПУ и технологического компьютера ( ТК );

  • запустить на ТК программу SmartLink с параметрами

/M /C1 /B19200 /D8 /S1;

  • в появившемся на экране ТК консольном окне ( черное с белыми буквами ) ввести “E:KPP”

3.2Выполнение программы и сообщения, выдаваемые программой

3.2.1Каналы взаимодействия с пользователем

Инструкции оператору и результаты контроля выводятся одновременно на:

  • жидко-кристаллическую панель МФПУ;

  • монитор ТК ( более подробно ).

При этом управлять работой программы можно двумя способами:

  • нажимая кнопки на лицевой панели МФПУ,

  • с клавиатуры ТК.

Для подачи команды необходимо:

  • нажать кнопку на лицевой панели МФПУ, находящуюся рядом с соответствующей надписью на ЖКП,

или

  • нажать на клавишу клавиатуры ТК в соответствии со списком команд, приведенном на экране ТК.

3.2.2Выбор режима функционирования

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

Для запуска отдельно взятого теста необходимо из главного меню перейти в меню тестирования модуля, из него – в более низкое меню и так до нужного теста.

Переход в меню более низкого уровня или запуск теста осуществляется нажатием кнопки МФПУ, расположенной рядом с сответствующей надписью на ЖКП или нажатием клавиши на клавиатуре технологического компьютера в соответствии с меню на его экране.

Переход в меню более высокого уровня осуществляется нажатием кнопки СПК6 МФПУ ( у правого нижнего угла ЖКП ) или нажатием клавиши на клавиатуре технологического компьютера.

Поочредной запуск всех тестов, включенных в иерархию ниже текущего меню осуществляется нажатием кнопки СЛК2 МФПУ ( вторая сверху слева от ЖКП, рядом с надписью «Все по поряку» ) или нажатием клавиши <А> на клавиатуре технологического компьютера.

Выход из программы в операционную систему осуществляется нажатием кнопки СПК6 МФПУ ( у правого нижнего угла ЖКП ) или нажатием клавиши на клавиатуре технологического компьютера, при отображении кадра «Главное меню».

П
римечание. В первой версии КПП ряд тестов не реализован.

П
римечания.

1) Цвет надписи означает:

  • желтый – тест в данном сеансе работы КПП не запускался;

  • красный – в тесте выявлен отказ;

  • зеленый – отказ не выявлен;

  • синий – в данной версии КПП тест не реализован.

Голубым цветом написаны инструкции.

2) Две верхние кнопки в КПП не используются.

3.2.3Запуск полного контрля МФПУ

Непосредственно после запуска программы на ЖКП МФПУ отображается кадр «Главное меню», представленный на рис.2.

Одновременно с этим на экране технологического компьютера выводится следующее меню:

А – все по порядку

1 – МПР ( не проверялся )

2 – МДК ( не проверялся )

3 – МКК ( не проверялся )

4 – МВВ ( не проверялся )

5 – МДС ( не проверялся )

6 – МСП ( не проверялся )

7 – МБД ( не проверялся )

Q – выход

В кадре на ЖКП названия модулей в кадре «Главное меню» изначально имеют желтый цвет. Это означает, что данный модуль в этом сеансе работы КПП не проверялся.

Для поочередного запуска всех возможных тестов нажмите кнопку рядом с надписью «Все по порядку» на лицевой панели МФПУ или клавишу <А> на клавиатуре ТК.

В составе этих тестов есть тесты, требующие участия оператора. Порядок работы в них описан в пунктах 3.2.4 и 3.2.5 настоящего документа.

По окончании тестирования на ЖКП вновь появится кадр «Главное меню», только цвет сообщений станет другим. Если все названия модулей в кадре – зеленые ( во всех строках меню на экране ТК стоит «исправность» ) – значит КПП неисправностей не обнаружила.

Примечание. В первых версиях КПП ряд надписей могжет быть темно-синего цвета. Они означают, что либо данный модуль в первой версии аппарата МФПУ не установлен, либо тест данного модуля в данной версии КПП не реализован.

Если одна или несколько надписей окрашены в красный цвет ( в строке меню на экране ТК - «отказ» ) – в данном модуле обнаружены отказы. Для выявления причин отказа нажмите кнопку напротив «красной» надписи или соответствующую цифру на клавиатуре ТК.

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

Снова нажмите кнопку напротив «красной» надписи или соответствующую цифру на клавиатуре ТК. При этом или вы попадете в меню еще более низкого уровня, или будет повторно запущен тест, обнаруживший отказ.

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

3.2.4Контроль кнопок

Для запуска программы контроля кнопок из главного меню следует перейти в меню «МКК», в котором нажать «Кнопки». Кроме того этот тест запускается наряду с другими при выборе «Все по порядку» в главном меню.

При этом на ЖКП МФПУ выводится изображение клавиатуры МФПУ. Изначально все кнопки на этом изображении имеют желтый цвет.

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

  • SCAN-код нажатия кнопки,

  • SCAN-код отжатия кнопки,

  • ASCII-код кнопки,

  • сообщение о соответствии кодов друг другу ( «норма») или несоответствии одного из них ( «!!! ненорма» после соответствующего кода ).

В случае правильной работы кнопок, а также исправности модуля МКК и связи МКК с МПР к концу работы теста все изображение всех кнопок на ЖКП должно принять зеленый цвет.

Если изображения одной или нескольких кнопок останутся окрашенными в желтый или красный цвет – попробуйте повторно нажать эти кнопки.

Для выхода из теста дважды нажмите кнопку у правого нижнего угла ЖКП ( рядом с надписью «МКК» ) или кнопку на клавиатуре ТК.

3.2.5Контроль ЖК панели

Контроль ЖКП осуществляется путем вывода на нее нескольких тестовых кадров. Оператор должен оценить правильность отображаемой информации.

Для запуска тестов следует из «Главного меню» перейти в меню «МДК», далее в меню «Панель», а затем выбрать соответствующий тест. Кроме того все эти тесты поочередно запускаются наряду с другими при выборе «Все по порядку» в главном меню.

Существуют следующие тесты ЖК панели:

  • тест знакогенератора – 1;

  • тест знакогенератора – 2;

  • тест цветов;

  • тест расположения строк.

В тестах знакогенератора на экране отображаются все возможные для отображения символы в виде таблицы в порядке их кодов.

В тесте цветов на ЖКП выводятся надписи «красный», «синий» и т.д. соответствующим цветом, а также мигающие надписи «мигает».

В тесте расположения строк на ЖКП выводятся знаки <минус> в строках, которые должны быть визуально расположены напротив кнопок.

Если информация в кадре отражается правильно, оператору следует нажать кнопку «правильно» ( правую нижнюю ) на МФПУ или клавишу на клавиатуре ТК.

Если информация в кадре отражается неправильно, оператору следует нажать кнопку «неправильно» ( левую нижнюю ) на МФПУ или клавишу <3> на клавиатуре ТК.

Перечень сокращений

ЖКП - Жидко – кристаллическая панель

КПП - Контрольно – проверочная программа

МБД - Модуль базы данных

МВВ - Модуль ввода-вывода

МДК - Модуль дисплейного контроллера

МДС - Модуль дискретных сигналов

МКК - Модуль контроллера клавиатуры

МПР - Модуль процессора

МСП - Модуль спутникового приемника

МФПУ - Многофункциональный пульт управления

ПО - Программное обеспечение

ТК - Технологический компьютер

КИВШ.00223-01 91

УТВЕРЖДЕН

КИВШ.00223-01 91

Многофункциональный пульт управления МФПУ

Контрольно-проверочная программа

ТЕХНИЧЕСКОЕ ЗАДАНИЕ

КИВШ.00223-01 91

Листов 7

1999 г.

Аннотация

В настоящем документе приводится техническое задание на разработку контрольно-проверочной программы ( КПП ) многофункционального пульта управления МФПУ.

Документ содержит требования и данные для разработки версии программы, поставляемой с первым ( усеченным ) комплектом МФПУ 31.03.99 с учетом перспективы ее дальнейшего наращивания.

Содержание

Аннотация 2

Содержание 3

1 Введение 4

2 Основание для разработки 4

3 Назначение разработки 4

4 Требования к программе 4

5 Требования к программной документации 8

6 Порядок контроля и приемки 8

Перечень сокращений 9

1 Введение

В настоящем документе изложены требования и данные для разработки контрольно-проверочной программы пульта МФПУ.

2Основание для разработки

Основанием для разработки является план-график разработки системы МФПУ.

3Назначение разработки

Программа предназначена для контроля работоспособности блока МФПУ и определения неисправного конструктивно-сменного модуля с выводом результатов контроля на ЖК панель МФПУ и технологический компьютер.

4Требования к программе

4.1Требования к функциональным характеристикам

4.1.1Состав выполняемых функций

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

  1. Выдача на ЖКИ МФПУ и терминал МПР инструкций пользователю по проведению контроля ( с предложением выбрать определенный набор тестов ).

  2. Контроль аппаратуры модуля МПР.

  3. Контроль связи модуля МПР с другими модулями в составе МФПУ.

  4. Контроль аппаратуры модулей в составе МФПУ, не имеющих собственных процессоров.

  5. Запуск контрольно-проверочных программ процессоров МВВ, МДК и МКК.

  6. Запуск программ связи с пользователем, требующих его участия.

  7. Отображение результатов контроля на ЖКП МФПУ.

  8. Подробное отображение хода и результатов контроля на терминале технологического компьютера.

  9. Передача информации о ходе и результатах контроля в КЛС.

4.1.2Требования к управляющей программе

Управляющая программа должна обеспечивать взаимодействие с пользователем

  • при помощи интерфейсных устройств МФПУ (ЖКП и панель кнопок),

  • при помощи интерфейсных устройств технологического компьютера, связанного с МПР программой SmartLink

или по обоим этим каналам одновременно.

После включения в состав МФПУ модуля МВВ-34 взаимодействие с пользователем должно обеспечиваться и по кодовой линии связи в соответствии с протоколом взаимодействия КИВШ.00223-01 92.

4.1.3Требования к контролю модуля МПР

Контроль исправности модуля МПР в первой версии КПП должен осуществляться средствами операционной системы DOS.

4.1.4Требования к контролю модуля МДК и ЖКП

Контроль исправности модуля МДК и жидко-кристаллической панели, а также связи МПР с МДК в первой версии КПП должен осуществляться косвенным методом – путем вывода на экран нескольких тестовых кадров:

  • тестов знакогенератора,

  • теста цветов,

  • теста расположения строк на панели.

Исправность вышеперечисленных устройств констатируется пользователем в случае правильного вывода на экран перечисленных тестовых кадров.

4.1.5Требования к контролю модуля МКК

Контроль исправности модуля МКК и панели кнопок, а также связи МПР с МКК в первой версии КПП должен осуществляться косвенным методом – путем приема информации о нажатиях кнопок пользователем.

При этом КПП должна производить следующие действия:

  • прием информации о нажатиях кнопок МКК из регистров аппарата ( без использования BIOS и DOS ) с анализом ее корректности.

  • прием информации о нажатиях кнопок МКК из буфера BIOS с анализом ее соответствия принятой из регистров аппарата.

  • отображение результатов в контроля на ЖКП МФПУ в специальном кадре ( на ЖКП должна быть изображена клавиатура МФПУ: при этом кнопки, на которые пользователь не нажимал, окрашены в желтый цвет, от которых поступил правильный код – в зеленый, неправильный – в красный, - таким образом при нормальном завершении теста все кнопки должны быть окрашены в зеленый цвет).

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

4.1.6Требования к контролю модуля МВВ

Требования к контролю связи с модулем МВВ и исправности устройств модуля МВВ в первой версии КПП не предъявляются.

4.1.7Требования к контролю модуля МДС

Требования к контролю связи с модулем МДС и исправности устройств модуля МДС в первой версии КПП не предъявляются.

4.1.8Требования к контролю модуля МБД

Требования к контролю связи с модулем МБД и исправности устройств модуля МБД в первой версии КПП не предъявляются.

4.1.9Требования к контролю модуля МСП

Требования к контролю связи с модулем МСП и исправности устройств модуля МСП в первой версии КПП не предъявляются.

4.1.10 Организация данных

Формат данных обмена между МКК и МПР должен соответствовать документу КИВШ.00227-01 92 01 «Протокол взаимодействия центрального процессора и модуля контроллера клавиатуры многофункционального пульта управления МФПУ».

Формат данных обмена между МПР и МДК должен соответствовать документу КИВШ.00226-01 92 01 «Протокол взаимодействия центрального процессора и модуля дисплейного контроллера многофункционального пульта управления МФПУ».

Формат данных обмена между МПР и МВВ должен соответствовать документу КИВШ.00225-01 92 01 «Протокол взаимодействия центрального процессора и модуля ввода-вывода многофункционального пульта управления МФПУ».

4.2Требования к надежности

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

  1. Разделением в различные программные компоненты:

  • задач управления вычислительным процессом;

  • задач обмена с аппаратурой;

  • функциональных задач;

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

4.3Требования к составу и параметрам технических средств

Программное обеспечение должно функционировать на базе процессора типа 486 модуля МПР из состава пульта МФПУ. Техническое описание модуля МПР приведено в документе «МФПУ Требования к программно-аппаратному интерфейсу».

Для выполнения программы дополнительно необходимо следующее оборудование:

  • персональный компьютер семейства IBM PC.

  • жгут соединительный между МФПУ и компьютером, распаянный как «Нуль-модем» для связи по линии RS-232.

  • технологическая рама или жгуты-заглушки ( в первой версии не требуются ).

4.4Требования к информационной и программной совместимости

Языки программирования – Си-плюс-плюс и ассемблер.

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

5Требования к программной документации

На этапе проектирования ПО должна быть выпущена следующая программная документация:

- пояснительная записка.

По окончании разработки ПО должна быть выпущена следующая программная документация:

  • спецификация;

  • текст программы;

  • описание программы;

  • руководство оператора;

  • программа и методика испытаний;

  • конструкторская документация для программирования памяти.

6Порядок контроля и приемки

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

Перечень сокращений

ЖКП - Жидко – кристаллическая панель

КПП - Контрольно – проверочная программа

МБД - Модуль базы данных

МВВ - Модуль ввода-вывода

МДК - Модуль дисплейного контроллера

МДС - Модуль дискретных сигналов

МКК - Модуль контроллера клавиатуры

МПР - Модуль процессора

МСП - Модуль спутникового приемника

МФПУ - Многофункциональный пульт управления

ПО - Программное обеспечение

КИВШ.00223-01 91-ЛУ

УТВЕРЖДАЮ

Директор НТЦР ОАО «УКБП»

_____________ В.И.Кожевников

"__"____________ 1999 г.

Многофункциональный пульт управления МФПУ

Контрольно-проверочная программа

ТЕХНИЧЕСКОЕ ЗАДАНИЕ

Лист утвержения

КИВШ.00223-01 91-ЛУ

Главный конструктор

_____________ А.И.Горбунов

"__"____________ 1999 г.

Начальник НИО-12

_____________ И.Д.Лигачев

"__"____________ 1999 г.

Главный конструктор

_____________ В.П.Деревянкин

"__"____________ 1999 г.

Начальник НИО-14

_____________ Ю.А.Куликов

"__"____________ 1999 г.

Ведущий программист

_____________ Д.Ю.Маврин

"__"____________ 1999 г.

1999 г.

КИВШ.00225-01 91

УТВЕРЖДЕН

КИВШ.00225-01 91-ЛУ

Многофункциональный пульт управления МФПУ

Специальное программное обеспечение модуля МВВ

ТЕХНИЧЕСКОЕ ЗАДАНИЕ

КИВШ.00225-01 91

Листов 7

1999 г.

СОДЕРЖАНИЕ

СОДЕРЖАНИЕ 2

1 Введение 3

2 Основание для разработки 3

3 Назначениеразработки 3

4 Требования к программе 3

5 Требования к программной документации 6

6 Порядок контроля и приемки 6

Перечень сокращений 7

1Введение

В настоящем документе изложены требования и данные для разработки специального программного обеспечения модуля МВВ-34 из состава пульта МФПУ.

2Основание для разработки

Основанием для разработки является план-график разработки системы МФПУ.

3Назначениеразработки

СПО должно быть разработано с целью обеспечения функционирования модуля МВВ-34 в составе пульта МФПУ.

4Требования к программе

4.1Требования к функциональным характеристикам

4.1.1Состав выполняемых функций

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

  1. Прием информации по 32 кодовым линиям связи, преобразование ее в заданный формат и размещение в заданных ячейках двух-портового ОЗУ.

  2. Передачу информации по 9 кодовым линиям связи, с чтением ее из заданных ячеек двух-портового ОЗУ и преобразованием из заданного формата в формат КЛС.

  3. Настройку под управлением СПО процессора МПР на различные совокупности входных и выходных сигналов.

  4. Непрерывный и расширенный контроль аппаратуры модуля МВВ-34.

4.1.2Организация данных

Формат данных обмена с процессором МПР через двух-процессорное ОЗУ должен соответствовать документу КИВШ.00225-01 92 «Протокол взаимодействия центрального процессора и модуля ввода-вывода многофункционального пульта управления МФПУ».

Формат данных при приеме информации из КЛС и передаче в КЛС должен соответствовать документу «МВВ-34 Техническое описание».

4.2Требования к надежности

4.2.1Общие требования

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

  1. Разделением в различные программные компоненты:

  • задач управления вычислительным процессом;

  • задач обмена с аппаратурой приемо-передатчиков;

  • задач преобразования информации;

  • задач контроля.

  1. Наличием программы информационного контроля, блокирующей некорректную настроечную информацию, поступающую от МПР.

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

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

4.2.2Требования к информационному контролю

Контроль корректности информации принимаемой по КЛС и передаваемой в КЛС не предусматривается ( это функция СПО МПР ) .

Корректность информации, принимаемой от центрального процессора в режиме настройки должна быть проанализирована в соответствии с документом КИВШ.00225-01 92 «Протокол взаимодействия...».

4.2.3Требования к непрерывному инструментальному контролю

Непрерывный инструментальный контроль должен включать в себя:

  • тест контрольных сумм ПЗУ и ППЗУ;

  • анализ регистров состояния приемо-передатчиков;

  • непрерывный контроль аппаратуры обмена с МПР в соответствии с документом КИВШ.00225-01 92 «Протокол взаимодействия...».

4.2.4Требования к расширенному инструментальному контролю

Расширенный инструментальный контроль должен включать в себя дополнительно к непрерывному:

  • тест процессора;

  • тест ОЗУ;

  • тестирование приемо-передатчиков путем замыкания выходов передатчиков на входы приемников с пересылкой по образовавшимся каналам тестовой информации;

  • расширенный контроль аппаратуры обмена с МПР в соответствии с документом КИВШ.00225-01 92 «Протокол взаимодействия...».

4.3Требования к составу и параметрам технических средств

Программное обеспечение должно функционировать на базе процессора типа 386EX модуля МВВ-34 из состава пульта МФПУ. Техническое описание модуля МВВ-34 приведено в документе «МВВ-34 Техническое описание».

4.4Требования к информационной и программной совместимости

Языки программирования – Си и ассемблер.

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

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

Работа блоков операционной системы не должна превышать 10% загрузки рабочего цикла вычислителя. Ресурс свободного времени должен составлять не менее 30% рабочего цикла в самом загруженном режиме, а ресурс памяти – не менее 30% от общего объема памяти.

5Требования к программной документации

На этапе проектирования СПО должна быть выпущена следующая программная документация:

- пояснительная записка.

По окончании разработки СПО должна быть выпущена следующая программная документация:

  • cпецификация;

  • текст программы;

  • описание программы;

  • руководство оператора;

  • программа и методика испытаний.

6Порядок контроля и приемки

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

Перечень сокращений

КЛС - Кодовая линия связи

МВВ - Модуль ввода-вывода

МПР - Модуль процессора

МФПУ - Многофункциональный пульт управления

ОЗУ - Оперативное запоминающее устройство

ПЗУ - Постоянное запоминающее устройство

ПО - Программное обеспечение

ППЗУ - Перепрограммируемое ПЗУ

СПО - Специальное программное обеспечение

КИВШ.00223-01 34-ЛУ

УТВЕРЖДАЮ

Главный конструктор ОАО «УКБП»

_____________ В.П.Деревянкин

"__"____________ 1999 г.

Многофункциональный пульт управления МФПУ

Контрольно-проверочная программа

РУКОВОДСТВО ОПЕРАТОРА

Лист утверждения

КИВШ.00223-01 34-ЛУ

.

Начальник НИО-14

_____________ Ю.А.Куликов

"__"____________ 1999 г.

Ведущий программист

_____________ Д.Ю.Маврин

"__"____________ 1999 г.

1999 г.

КИВШ.00225-01 31

УТВЕРЖДЕН

КИВШ.00225-01 31-ЛУ

Многофункциональный пульт управления МФПУ

Специальное программное обеспечение модуля МВВ

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

КИВШ.00225-01 31

Листов 16

1999 г.

Содержание

Содержание 2

1 Введение 3

2 Назначение и выполняемые функции 3

3 Состав СПО 3

4 Описание форматов данных 4

5 Описание алгоритмов 7

ПЕРЕЧЕНЬ СОКРАЩЕНИЙ 15

1 Введение

Настоящий документ определяет организацию функционирования специального программного обеспечения процессора МВВ-34 из состава пульта МФПУ.

2Назначение и выполняемые функции

СПО процессора МВВ-34 из состава МФПУ должно выполнять следующие функции:

  • прием информации по кодовым линиям связи, ее преобразование и передача центральному процессору;

  • прием информации от центрального процессора, ее преобразование и передача в кодовые линии связи;

  • настройку на заданный набор сигналов с заданными параметрами;

  • непрерывный и расширенный контроль аппаратуры модуля МВВ-34.

3Состав СПО

СПО должно состоять из функционально-законченных программных комплексов ( ПК ), каждый из которых подразделяется на программные компоненты ( ПКт ). ПКт в свою очередь могут подразделяться на функционально-законченные программные модули ( ПМ ) .

СПО должно состоять из следующих программных комплексов:

  • ПК « Управляющая программа »;

  • ПК « Непрерывный контроль »;

  • ПК « Обмен »;

  • ПК « Инициализация »;

  • ПК « Расширенный контроль »;

  • ПК « Расширенный контроль аппаратуры обмена».

ПК «Управляющая программа» и ПК «Непрерывный контроль» должны функционировать постоянно. Дополнительно к ним по команде центрального процессора в вычислительный процесс может включаться ПК «Обмен», «Инициализация», «Расширенный контроль» или «Расширенный контроль аппаратуры обмена» .

4Описание форматов данных

4.1Данные в ОЗУ МВВ-34

В ОЗУ МВВ-34 должна располагаться следующая информация:

  • массивы данных, содержащие информацию о последних значениях принимаемых и передаваемых сигналов;

  • массивы флагов, содержащие информацию об этапе обработки сигналов;

  • внутренние переменные программных комплексов;

  • стек.

4.1.1Адресное пространство ОЗУ

ОЗУ МВВ-34 занимает адресное пространство с адреса 00000 по адрес 3FFFF. Распределение адресного пространства ОЗУ должно соответствовать таблице 1.

Адресное пространство ОЗУ

Таблица 1.

Начальный адрес

Конечный адрес

Длина (байт)

Назначение

00000

0EFFF

61440

Внутренние переменные

0F000

0FFFF

4096

Регистры различных устройств

10000

17FFF

32768

Массив «Данные приема»

18000

19FFF

8192

Массив «Флаги приема»

1A000

1С3FF

9216

Массив «Данные передачи»

1C400

1CFFF

3072

Резерв

1D000

1D8FF

2304

Массив «Флаги передачи»

1D900

1FFFF

9984

Резерв

20000

2FFFF

65536

Стек

30000

3FFFF

65536

Резерв

4.1.2Массив « Данные приема »

Массив должен представлять собой матрицу 32 x 256 32-разрядных слов (unsigned long). Каждой строке должен соответствовать номер входной линии, каждому столбцу – адрес в линии. Каждый элемент массива должен содержать значение, принятое последним из данной линии с данным адресом.

Информация в массив должна записываться ПКт «КЛС-МВВ» из регистров приемо-передатчиков; использоваться ПКт «МВВ-МПР» для преобразования и записи в двух-процессорное ОЗУ.

4.1.3Массив « Флаги приема »

Массив должен представлять собой матрицу 32 x 256 байт ( signed char). Каждой строке должен соответствовать номер входной линии, каждому столбцу – адрес в линии. Каждый элемент массива должен содержать:

  • 0 - если информация не обновлялась;

  • 1 – если информация обновилась, но не изменилась;

  • 2 – если информация изменилась;

  • 3 – если канал заблокирован на запись;

  • -1 – если к каналу идет обращение;

  • -2 – если канал заблокирован на чтение.

Нулевую информацию в элемент массива должен записывать ПКт «МВВ-МПР» после обращения к соответствующему элементу массива «Данные приема». На время обращения к нему устанавливается значение -1 во избежание записи в этот элемент новой информации программным компонентом «КЛС-МВВ»

Значение 1 или 2 должен устанавливать ПКт «КЛС-МВВ» в момент записи новой информации.

Значение –2 или 3 может устанавливаться технологическим ПО во время отладки и испытаний.

4.1.4Массив « Данные передачи »

Массив должен представлять собой матрицу 9 x 256 32-разрядных слов ( unsigned long). Каждой строке должен соответствовать номер входной линии, каждому столбцу – адрес в линии. Каждый элемент массива должен содержать последнее значение, переданное центральным процессором для передачи в данную линию с заданным адресом.

Информация в массив должна записываться ПКт «МПР-МВВ» на основании информации, принятой от центрального процессора; использоваться ПКт «МВВ-КЛС» для записи в соответствующий приемо-передатчик.

4.1.5Массив « Флаги передачи »

Массив должен представлять собой матрицу 9 x 256 байт (signed char). Каждой строке должен соответствовать номер выходной линии, каждому столбцу – адрес в линии. Каждый элемент массива должен содержать:

  • 0 - если информация не обновлялась;

  • 1 – если информация обновилась;

  • 3 – если канал заблокирован на запись;

  • -1 – если к каналу идет обращение

  • -2 – если канал заблокирован на чтение;

Нулевую информацию в элемент массива должен записывать ПКт «МВВ-КЛС» после обращения к соответствующему элементу массива «Данные приема». На время обращения к нему устанавливается значение -1 во избежание записи в этот элемент новой информации программным компонентом «МПР-МВВ»

Значение 1 должен устанавливать ПКт «МПР-МВВ» в момент записи новой информации.

Значение –2 или 3 может устанавливаться технологическим ПО во время отладки и испытаний.

4.2Данные в двухпортовом ОЗУ

В двухпортовом ОЗУ должен располагаться ряд массивов данных, через которые осуществляется обмен между процессорами МВВ и МПР. Формат данных в этих массивах приведен в документе КИВШ.00225-01 92 01 « Протокол взаимодействия центрального процессора и модуля ввода-вывода МФПУ ».

4.3Данные в ППЗУ МВВ

В ППЗУ должны содержаться массивы, содержащие информацию о количестве и параметрах принимаемых и передаваемых сигналов. Информация в ППЗУ должна заноситься программным комплексом «Инициализация» на основании информации, полученной от центрального процессора, использоваться программным комплексом «Обмен».

4.3.1Адресное пространство ППЗУ

Часть ППЗУ модуля МВВ-34, доступная для записи без наличия напряжения на технологическом разъеме, занимает адреса памяти 60000-6FFFF.

В этой части ППЗУ должны располагаться настроечные массивы информации, записываемые ПК “Инициализация” и используемые ПК “Обмен”.

4.3.2Массивы « МПР-МВВ »

Каждый из массивов «МПР-МВВ» содержит информацию об одной из групп передачи информации от МПР в МВВ. Возможное количество таких массивов от 0 до 8. Структура информации в каждом из таких массивов аналогична приведенной в протоколе взаимодействия КИВШ.00225-01 92 01.

4.3.3Массивы « МВВ-МПР »

Каждый из массивов «МВВ-МПР» содержит информацию об одной из групп приема информации от МВВ в МПР. Возможное количество таких массивов от 0 до 8. Структура информации в каждом из таких массивов аналогична приведенной в протоколе взаимодействия КИВШ.00225-01 92 01.

5Описание алгоритмов

5.1ПК « Управляющая программа »

5.1.1Состав ПК

ПК « Управляющая программа » должен состоять из следующих программных компонентов:

  • ПКт « Стартовый запуск »;

  • ПКт « Выбор режима работы »;

  • ПКт « Обработка прерываний »;

  • ПКт « Управление таймерными задачами »;

  • ПКт « Управление фоновыми задачами »;

  • ПКт « Обработка аварийных ситуаций ».

5.1.2ПКт « Стартовый запуск »

ПКт должен осуществлять следующие операции:

  • инициализацию аппаратных устройств модуля МВВ-34 в соответствии с документом « Техническое описание ».

  • инициализацию обмена с модулем МПР в соответствии с документом КИВШ.00225-01 92 01 «Протокол взаимодействия центрального процессора и модуля ввода-вывода МФПУ »

5.1.3ПКт « Обработка прерываний »

При появлении заданных прерываний ПКт должен передавать управление соответствующим модулям программы. При появлении любых других прерываний ПКт должен передавать управление ПКт «Обработка аварийных ситуаций ».

К задачам, выполняемым по специальным прерываниям, относятся:

  • ПКт «Выбор режима работы»;

  • ПКт «КЛС-МВВ».

5.1.4ПКт « Управление таймерными задачами »

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

К таймерным задачам относятся:

  • ПКт «МПР- МВВ»;

  • ПКт «МВВ- МПР»;

5.1.5ПКт « Управление фоновыми задачами »

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

К фоновым задачам относятся:

  • ПКт «МВВ-КЛС»;

  • ПК «Непрерывный контроль»;

  • Включаемое в вычислительный процесс технологическое ПО;

5.1.6ПКт « Выбор режима работы »

ПКт должен запускаться по прерываниям, поступающим в случае изменения управляющего слова, а также программным компонентом «Управление таймерными задачами» с наинизшим приоритетом. ПКт должен сравнить значения разрядов управляющего слова с его копией, созданной в предыдущем запуске.

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

5.1.7ПКт « Обработка аварийных ситуаций »

ПКт должен подразделяться на ряд ПМ, каждый из которых обрабатывает одну из аварийных ситуаций:

  • аварийный сбой питания;

  • выход на запрещенный адрес;

  • прерывание по неопознанному вектору;

  • выход указателя стека за допустимый диапазон.

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

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

  • заблокирован таймер;

  • вновь проинициализирован стек;

  • в буфер вывода по RS-232 записана информация о состоянии процессора в соответствии с протоколом взаимодействия АИРЦ.00231-92 01;

  • разблокирован таймер;

  • перезапущен ПКт « Управление фоновыми задачами ».

5.2ПК « Обмен »

5.2.1Состав ПК

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

  • ПКт « КЛС-МВВ »;

  • ПКт « МВВ-МПР »;

  • ПКт « МПР-МВВ »;

  • ПКт « МВВ-КЛС ».

5.2.2ПКт « КЛС-МВВ »

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

  • Если флаг приема по данного сигнала установлен в –1 – дальнейших действий не производить.

  • Прочитать значения сначала младшего (MSW), а затем старшего (LSW) слов буфера сообщения соответствующего канала с записью их в промежуточное 32-разрядное слово.

  • Если флаг приема по данному каналу установлен в 3 – дальнейших действий не производить.

  • Если принятое значение равно значению в соответствующем элементе массива «Данные приема» - установить флаг приема в 1, если не равно – установить флаг в 2 и переписать полученное значение в массив «Данные приема».

5.2.3ПКт « МВВ-МПР »

ПКт должен принимать один параметр – номер группы приема.

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

ПКт должен на основании информации, содержащейся в массивах «Данные приема» и «Флаги приема» обновить информацию в массивах двухпроцессорного ОЗУ.

С этой целью ПКт для каждого из сигналов группы, значение флага приема которого положительно ( информация обновилась ), должен произвести следующие действия.

  • Переписать значение матрицы состояния ( 30 и 29 разряды элемента массива “Данные приема” ) в соответствующий элемент буферного массива матриц состояния ( если массив матриц состояния в данной группе предусмотрен ). По его значению центральный процессор сможет контролировать обновление информации .

  • Если флаг приема сигнала меньше 2 ( сигнал возможно обновился, но не изменился ) – дальнейших действий не производить.

  • Значения 28 – 8 разрядов преобразовать в соответствии с ценой старшего разряда сигнала в число с плавающей точкой (типа float), или ( при нулевой цене старшего разряда ) сдвинуть на 3 разряда влево.

  • Полученное значение записать в соответствующий элемент буферного массива значений сигналов.

  • Записать единицу в соответствующий элемент буферного массива флагов изменения ( если массив флагов изменения в данной группе предусмотрен ).

  • Сбросить в 0 флаг приема.

По окончании обработки всех сигналов группы ПКт должен произвести следующие действия:

  • Прочитать значение семафора доступа к соответствующим данным в двухпроцессорном ОЗУ, и если он открыт, закрыть семафор.

  • Переписать информацию из буферных массивов значений сигналов, матриц состояния и флагов обновления в соответствующие массивы двухпроцессорного ОЗУ.

  • Открыть семафор.

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

5.2.4ПКт « МПР-МВВ »

ПКт должен принимать один параметр – номер группы передачи.

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

ПКт должен преобразовать информацию, содержащуюся в массивах двухпроцессорного ОЗУ в формат КЛС с записью ее в массив «Данные передачи».

ПКт должен произвести следующие действия:

  • Прочитать значение семафора доступа к соответствующим данным в двухпроцессорном ОЗУ, и если он открыт, закрыть семафор.

  • Переписать информацию о значениях сигналов из двухпроцессорного ОЗУ в буферный массив.

  • Открыть семафор.

Далее для каждого из сигналов группы должен произвести следующие действия.

  • Eсли флаг приема по данному каналу установлен в –1 или –3 – дальнейших действий не производить;

  • Прочитать значение из соответствующей ячейки межпроцессорного ОЗУ;

  • Преобразовать полученное значение из числа с плавающей точкой в 20 –разрядное значение с использованием цены старщего разряда, или ( при нулевой цене старшего разряда ) - сдвинуть значение вправо на 3 разряда.

  • Дополнить полученное значение матрицей состояния, битом четности и адресной частью.

  • Записать полученное значение в соответствующий элемент массива «Данные передачи».

  • Установить в 1 соответствующий флаг передачи.

5.2.5ПКт « МВВ-КЛС »

ПКт должен производить перепись сформированной информации из массива «Данные передачи» в очереди сообщений кодовых линий связи.

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

При обнаружении установленного в 1 флага анализируется очередь сообщений соответствующей КЛС. Если она не переполнена, производятся следующие действия:

  • Флаг передачи установить в –1.

  • Переписать значение из массива «Данные передачи» в очередь сообщений соответствующей КЛС.

  • Флаг передачи сбросить в 0.

5.3ПК « Инициализация »

ПК «Инициализация » должен состоять из одного ПКт. Он должен произвести перепись информации из двухпроцессорного ОЗУ в ППЗУ модуля МВВ.

5.4ПК « Непрерывный контроль »

ПК должен осуществлять непрерывный контроль аппаратуры модуля МВВ-34 во взаимодействии с аппаратными средствами встроенного контроля МВВ, как описано в подразделе 4.6 «Встроенный контроль» документа «Техническое описание».

Алгоритмы непрерывного контроля аппаратуры обмена с приведены в документе КИВШ.00225-01 92 01 «Протокол взаимодействия…».

По окончании каждого цикла контроля информация о его результатах должна быть отражена в ячейках двух-процессорного ОЗУ в соответствии с «Протоколом взаимодействия…».

5.5ПК « Расширенный контроль »

ПК должен произвести расширенный контроль приемо-передатчиков, установленных на модуле МВВ-34. Для этого приемо-передатчики должны быть переведены в тестовый режим с отключением от линий. На выходы передатчиков должны подаваться тестовые значения, после чего сравниваться с этими же значениями, принятыми приемниками.

По окончании контроля информация о его результатах должна быть отражена в ячейках двух-процессорного ОЗУ в соответствии с «Протоколом взаимодействия…».

5.6ПК « Расширенный контроль аппаратуры обмена»

Алгоритмы расширенного контроля аппаратуры обмена приведены в документе КИВШ.00225-01 92 01 «Протокол взаимодействия…».

ПЕРЕЧЕНЬ СОКРАЩЕНИЙ

ЖКИ - Жидко-кристаллический индикатор

КЛС - Кодовая линия связи

КПП - Контрольно-проверочная программа

МБД - Модуль базы данных

МВВ - Модуль ввода-вывода

МДК - Модуль дисплейного контроллера

МДС - Модуль дискретных сигналов

МИП - Модуль источника питания

МКК - Модуль контроллера клавиатуры

МПР - Модуль процессора

МФПУ - Многофункциональный пульт управления

ОЗУ - Оперативное запоминающее устройство

ПДС - Преобразователь дискретных сигналов

ПЗУ - Постоянное запоминающее устройство

ПО - Программное обеспечение

ППЗУ - Перепрограммируемое ПЗУ

РК - Разовая команда

РМП - Рабочее место программиста

СПО - Специальное программное обеспечение

ТК - Технологический компьютер

КИВШ.00225-01 92

УТВЕРЖДЕН

КИВШ.00225-01 92-ЛУ

Многофункциональный пульт управления МФПУ

ПРОТОКОЛ ВЗАИМОДЕЙСТВИЯ

центрального процессора и модуля ввода-вывода

КИВШ.00225-01 92

Листов 16

1999 год

Содержание

Содержание 3

1 Назначение 3

2 Принципы взаимодействия 3

3 Aппаратурные средства взаимодействия 4

4 Порядок инициализации обмена. 5

5 Формат данных в процессе обмена. 6

6 Формат данных в процессе инициализации 10

7 Порядок контроля аппаратуры обмена 13

Перечень сокращений 17

1Назначение

Настоящий протокол устанавливает состав и дисциплину информационного обмена между программным обеспечением центрального процессора ( МПР ) и модулем ввода-вывода ( МВВ ) в составе пульта МФПУ.

2Принципы взаимодействия

Программное обеспечение модуля ввода-вывода должно осуществлять:

  • прием информации по 32 кодовым линиям связи, преобразование ее в удобный формат и запись в ячейки, доступные МПР;

  • чтение информации из ячеек, сформированных МПР, преобразование ее в формат КЛС и передачу по 9 кодовым линиям связи;

  • контроль аппаратуры приема-передачи и обмена.

В этих целях ПО модуля МВВ должно предоставлять ПО модуля МПР следующие возможности.

1. Перевод в любое время процессора МВВ в один из следующих режимов функционирования:

  • обмен,

  • инициализация,

  • ожидание,

  • расширенный контроль,

  • расширенный контроль аппаратуры обмена.

2. Выбор в процессе инициализации

  • адресов ячеек, через которые будет осуществляться обмен;

  • формата информации для каждого из принимаемых и передаваемых сигналов.

3. Доступ к значениям матриц состояния и флагов изменения всех принимаемых сигналов;

4. Получение прерываний:

  • при изменении значений заданных сигналов;

  • при обнаружении отказов аппаратуры

3Aппаратурные средства взаимодействия

3.1Адресное пространство

3.2

Обмен данными между процессорами МПР и МВВ в составе пульта МФПУ осуществляется через двух портовое ОЗУ. Адресное пространство ДПОЗУ представлено в таблице 1.

Адресное пространство двух портового ОЗУ

Таблица 1.

Адрес на шине МПР

Адрес на шине МВВ

Длина

( байт )

Назначение ячеек

A08000 – A0800E

0FE00 – 0FE0E

16

Семафоры

A00000 – A07FFB

В том числе:

A07FF0 – A07FF7

A07FF8 – A07FFB

40000 – 47FFB

47FF0 – 47FF7

47FF8 – 47FFB

32768

8

4

Область данных

Слова исправности МВВ

Ячейки сторожевого таймера

A07FFC

47FFC

2

Слово состояния МВВ

A07FFE

47FFE

2

Управляющее слово

3.3Семафоры

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

Для доступа к определенной группе ячеек ( для чтения или записи ) процессор должен записать 0 в младший разряд соответствующего семафора и прочитать значение этого же семафора. Если получено значение 0 – доступ разрешен, в противном случае - запрещен. По окончании работы с группой ячеек процессор должен записать единицу в младший разряд семафора. Соответствие семафоров группам ячеек задается процессором МПР в процессе настройки ( см. раздел 5. ).

Обращение к ячейкам-семафорам со стороны МВВ должно осуществляться командами ассемблера in, out; со стороны МПР – mov.

3.4Область данных

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

Физический смысл значений каждой из ячеек области данных определяется в процессе инициализации ( см. раздел 6 )

3.5Обмен прерываниями

При записи процессором МПР любой информации в ячейку управляющего слова происходит прерывание SMI процессора МВВ. Для сброса SMI процессор МВВ должен прочитать значение управляющего слова.

При записи процессором МВВ любой информации в ячейку слова состояния происходит прерывание IRQ процессора МПР. Для сброса IRQ процессор МПР должен прочитать значение слова состояния.

4Порядок инициализации обмена.

При включении питания процессор МВВ должен перейти в режим ожидания с установкой соответствующего бита в слове состояния. Биты исправности МВВ устанавливаются в "отказ". Процессор МПР должен убедиться, что МВВ находится в режиме ожидания, при необходимости перевести его в этот режим установкой соответствующего бита в управляющем слове. Если после троекратного повторения данной операции с интервалом в 1 секунду процессор МВВ не перейдет в режим ожидания - процессор МПР констатирует отказ связи с МВВ.

Далее процессоры должны провести контроль аппаратуры обмена, порядок которого приведен в разделе 7.

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

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

Процессор МПР, получив информацию о положительном результате расширенного контроля МВВ, должен записать в двух портовое ОЗУ настроечные таблицы, после чего перевести процессор МВВ в режим настройки.

После перехода в режим настройки процессор МВВ должен проанализировать корректность информации, содержащейся в настроечных таблицах. При обнаружении некорректной информации МВВ должен снять бит исправности обмена в слове состояния, записать информацию о характере некорректности в слово исправности МВВ и перейти в режим ожидания. В такой ситуации процессор МПР должен повторить запись информации в двух портовое ОЗУ и снова перевести МВВ в режим настройки. При троекратном повторении данной ситуации процессор МПР констатирует отказ связи с МВВ.

В случае корректности настроечной информации процессор МВВ настраивает свою программу в соответствии с ней, устанавливает бит исправности связи в слове состояния и переходит в режим ожидания. В таком случае процессор МПР переводит МВВ в режим "работа".

5Формат данных в процессе обмена.

5.1Группы сигналов

5.2

Входные и выходные сигналы должны быть сгруппированы в несколько групп ( от одной до восьми ). Каждая из групп должна объединять сигналы с одинаковыми или близкими:

  • направлением пересылки ( прием или передача );

  • частотой обновления;

  • прогнозируемой частотой изменения.

Каждой из групп должны соответствовать:

  • семафор;

  • массив значений ( по 4 байта на сигнал );

  • массив матриц состояния ( по 2 бита на сигнал, при необходимости, только для принимаемых сигналов );

  • массив флагов изменения ( по 1 биту на сигнал, при необходимости );

  • один бит в слове состояния ( только для принимаемых сигналов, при необходимости ).

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

5.3Массивы значений сигналов

Массив значений сигналов представляет собой массив ячеек по 4 байта на сигнал.

Значение каждого из сигналов может быть представлено или в виде числа с плавающей точкой ( формат float языка С ), или в виде 20-разрядного битового поля. В последнем случае :

  • 0 разряд ячейки соответствует 9 ( младшему значащему ) разряду КЛС,

  • 19 разряд ячейки - 29 ( старшему значащему ) разряду КЛС;

  • 20 - 31 разряды ячейки не используются.

5.4Массивы матриц состояния

5.5

Массив матриц состояния представляет собой массив 32-разрядных ( формат unsigned long языка С ) слов. Матрицы состояний принимаемых сигналов группируются в слова следующим образом:

  • 31 и 30 разряды нулевого ( начального ) сигнала группы записываются соответственно в 1 и 0 разряды нулевого ( начального ) слова массива;

  • 31 и 30 разряды 1 сигнала - в 3 и 2 разряды 0 слова;

  • ......

  • 31 и 30 разряды 15 сигнала - в 31 и 30 разряды 0 слова;

  • 31 и 30 разряды 16 сигнала - в 1 и 0 разряды 1 слова;

и т.д.

5.6Массивы флагов изменения

5.7

Массив флагов изменения представляет собой массив 32-разрядных ( формат unsigned long языка С ) слов. Каждому из сигналов соответствует один бит одного из слов: 1 означает, что сигнал изменился, 0 - нет.

В случае изменения значения поступающего сигнала процессор МВВ должен записать единицу в соответствующий бит. Процессор МПР может снимать флаги по мере использования изменившихся значений.

Флаги изменения группируются в слова следующим образом:

  • флаг изменения 0 ( начального ) сигнала группы соответствует 0 разряду 0 ( начального ) слова массива;

  • флаг 1 сигнала - 1 разряду 0 слова;

  • ...

  • флаг 31 сигнала - 31 разряду 0 слова;

  • флаг 32 сигнала - 0 разряду 1 слова;

и т.д.

5.8Управляющее слово

Управляющее слово формируется процессором МПР для сообщения процессору МВВ о необходимости изменения режима работы. Управляющее слово представляет собой 16-разрядное слово ( формат unsigned short языка C ).

Значения групп разрядов следующее.

15 - 13 разряды – резерв.

12 - 8 разряды - требуемый режим работы МВВ :

  • 0 – обмен;

  • 1 - режим ожидания;

  • 2 – инициализация;

  • 4 - расширенный контроль;

  • 8 - контроль в режиме КПП;

  • 0x10 - расширенный контроль аппаратуры обмена.

7 - 0 разряды – требуемый режим расширенного контроля аппаратуры обмена ( см. подраздел 7.2 ).

5.9Слово состояния МВВ

Слово состояния МВВ формируется процессором МВВ для сообщений об изменениях в:

  • режиме функционирования МВВ;

  • исправности МВВ;

  • значениях входных сигналов некоторых групп ( при необходимости ).

Слово состояния представляет собой 16-разрядное слово ( формат unsigned short языка С ).

  • 15 разряд – неисправность МВВ ( 0 – исправность );

  • 14 разряд – неисправность аппаратуры обмена ( 0 – исправность );

  • 13 разряд – резерв;

  • 12 - 8 разряды содержат информацию о режиме функционирования МВВ. Их значения совпадают с соответствующими разрядами управляющего слова.

  • 7 - 0 разряды - флаги изменения информации в группах 7 - 0.

5.10Слова исправности МВВ

Массив исправности МВВ представляет собой массив из восьми 16-разрядных слов, в области данных двух портового ОЗУ. Массив содержит информацию о неисправностях аппаратурных устройств модуля МВВ и причине некорректности информации, принимаемой МВВ от МПР. Значение слов будет уточняться в процессе проектирования программ расширенного инструментального контроля и КПП.

6Формат данных в процессе инициализации

В процессе инициализации процессор МПР записывает в двух портовое ОЗУ следующую информацию:

  • массив частот каналов приема и передачи;

  • массив адресов массивов настройки;

  • массивы описаний групп сигналов.

6.1 Массив частот каналов приема и передачи

Массив располагается по адресам b3010 - b303f ( 50010 - 5003f со стороны МВВ ).

Каждому из каналов приема и передачи соответствует 1 байт информации. Значение его следующее:

  • 1 - частота 12.5 Кб/с;

  • 2 - частота 25 Кб/с;

  • 4 - частота 50 Кб/с;

  • 0 - канал не используется;

  • 8 - частота 100 Кб/с;

Соответствие номеров каналов элементам массива следующее:

  • 0 - 31 элементы соответствуют 0 - 31 каналу приема;

  • 32 - 40 элементы соответствуют 0 - 8 каналу передачи;

  • 41 - 59 элементы не используются;

  • 60 - 63 элементы содержат контрольную сумму.

Контрольная сумма считается как сумма байтов с 0 по 40, представленных как unsigned char в 32-разрядном слове unsigned long.

6.2Адреса массивов настройки

Информация о группах сигналов ( ее формат описан в подразделе 6.3 ) может располагаться в двухпроцессорном ОЗУ в произвольных местах.

Начальные адреса описаний каждой из восьми групп должны быть сведены в массив из восьми 16-разрядных значений ( типа unsigned short ). Массив должен располагаться по адресам b3040 – b3048 ( 50040 – 50048 со стороны МВВ ). Каждый элемент должен содержать младшие 16 разрядов физического адреса.

6.3Описания групп сигналов

Описание каждой из групп сигналов представлено в таблице 2.

Состав информации о группе сигналов

Таблица 2.

Наименование параметра

Длина

( байт )

Примечание

Направление обмена

1

0-прием

1-передача

Установка единицы в слове состояния МВВ при изменении значения одного из сигналов

1

0-не устанавливать

1-устанавливать

Период обновления ( мс)

2

Количество сигналов

2

Адрес массива значений сигналов

2

Адрес массива матриц состояния

2

0- не формировать

Адрес массива флагов изменения

2

0- не формировать

Описание сигналов

6 на сигнал

См.табл.3

Контрольная сумма

4

Значения адресов массивов представляют собой младшие 16 разрядов физических адресов.

Контрольная сумма считается как сумма байтов таблицы, представленных как unsigned char в 32-разрядном слове unsigned long. Байты, содержащие саму контрольную сумму, в расчете не участвуют.

6.4Описание сигналов

Состав информации, описывающей каждый из сигналов, представлен в таблице 3.

Состав информации о сигнале.

Таблица 3.

Наименование параметра

Длина ( байт )

Примечание

Номер канала

1

0 . . 31

Адрес в КЛС

1

0 . . 255

Цена старшего разряда

4

0 – битовое поле

7Порядок контроля аппаратуры обмена

7.1Непрерывный контроль

Модуль МВВ должен периодически переписывать информацию из первой во вторую ячейки сторожевого таймера. Период такой операции должен соответствовать максимальному периоду обмена по КЛС, но не реже одного раза в 1 с.

Несоответствие информации в ячейках сторожевого таймера через указанное время после записи информации в первую ячейку позволяет МПР констатировать отказ связи с МВВ или “зависание” последнего.

7.2Расширенный контроль

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

1. Разряды 1 - 0 содержат код тестируемого устройства:

  • 1 – семафор

  • 2 - рабочая область

  • 3 – прерывания

  1. Разряды 3 - 2 содержат код теста.

  2. Разряды 7 - 4 дополнительный параметр.

В начале выполнения теста МВВ должен установить нуль в 0 и 1 разряды слова состояния, по окончании выполнения очередного теста - установить единицу:

  • при успешном завершении теста - в 0 разряд слова состояния;

  • при обнаружении отказа - в 1 разряд.

7.2.1Контроль семафоров

Для контроля каждого из семафоров процессоры должны произвести 4 теста:

  • код 0 - чтение МВВ занятого семафора;

  • код 1 - чтение МВВ свободного семафора;

  • код 2 - чтение МПР занятого семафора;

  • код 3 - чтение МПР свободного семафора.

Для проведения каждого из тестов должны быть произведены следующие действия.

  1. МПР записывает в управляющее слово:

  • 6 - 4 разряды - номер семафора ( 0 - 7 );

  • 3 - 2 разряды - код теста ( 0 - 3 ).

2. МВВ производит:

  • в тесте 0 - читает семафор и сравнивает с 1;

  • в тесте 1 - читает семафор и сравнивает с 0;

  • в тесте 2 - записывает в семафор 1;

  • в тесте 3 - записывает в семафор 0.

3. МВВ записывает результат в 0 или 1 разряд слова состояния.

4. МПР принимает окончательное решение о результате теста.

7.2.2Контроль рабочей области

Для контроля рабочей области должно быть произведено четыре теста:

  • код 0 - передача нулевой информации;

  • код 1 - передача единичной информации;

  • код 2 - передача шахматной информации;

  • код 3 - передача обратной шахматной информации

по двум направлениям:

  • параметр 0 - из МПР в МВВ;

  • параметр 1 - из МВВ в МПР.

Под передачей нулевой информации подразумевается запись нулей во все ячейки рабочей области;

под единичной - запись OxFFFF во все ячейки рабочей области;

под шахматной:

  • запись 0x5555 в ячейки с четными адресами и

  • запись 0хАААА в ячейки с нечетными адресами;

под обратной шахматной:

  • запись 0x5555 в ячейки с нечетными адресами и

  • запись 0хАААА в ячейки с четными адресами.

Для проведения каждого из тестов должны быть произведены следующие действия.

1. МПР записывает в управляющее слово:

  • 4 разряд - направление ( 0 - 1 );

  • 3 - 2 разряды - код теста ( 0 - 3 ).

2. При направлении 0:

  • МПР устанавливает семафор 0 в положение "занято" и производит запись информации в двухпроцессорное ОЗУ;

  • МПР освобождает семафор;

  • МВВ после освобождения семафора считывает информацию и анализирует ее правильность.

3. При направлении 1:

  • МВВ устанавливает семафор 0 в положение "занято" и производит запись информации в двух портовое ОЗУ

  • МВВ освобождает семафор;

  • МПР после освобождения семафора считывает информацию и анализирует ее правильность;

  • МВВ записывает результат в 0 или 1 разряд слова состояния;

  • МПР принимает окончательное решение о результате теста.

7.2.3. Контроль прерываний

Контроль прерываний производится в следующем порядке.

  1. МПР в управляющем слове задает требуемый режим.

  2. МВВ, получив прерывание, устанавливает все разряды слова состояния в 0.

  3. МПР, получив прерывание, устанавливает все разряды управляющего слова в 0.

  4. МВВ, получив прерывание, устанавливает нулевой ( младший ) разряд слова состояния в 1.

  5. МПР, получив прерывание, устанавливает тот же разряд управляющего слова в 1.

  6. МВВ, получив прерывание, устанавливает тот же разряд слова состояния в 0.

  7. МПР, получив прерывание, устанавливает тот же разряд управляющего слова в 0.

  8. Действия 4 - 7 повторяются для разрядов 1 - 15.

  9. МВВ записывает результат в 0 или 1 разряд слова состояния, возвращая остальным разрядам значения, которые они имели до начала теста.

  10. МПР принимает окончательное решение о результате теста.

Перечень сокращений

ДПОЗУ - двух портовое ОЗУ

КЛС - кодовая линия связи

КПП - контрольно - проверочная программа

МВВ - модуль ввода - вывода

МПР - модуль процессора

МФПУ - многофункциональный пульт управления

ОЗУ - оперативное запоминающее устройство

КИВШ.00223-01 31 01

УТВЕРЖДАЮ

Главный конструктор ОАО УКБП

_____________ В.П.Деревянкин

"__"____________ 1999 г.

Контрольно-проверочная программа

многофункционального пульта управления МФПУ

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

КИВШ.00223-01 31 01

Листов

Начальник НИО-14

_____________ Ю.А.Куликов

"__"____________ 1999 г.

Ведущий программист

_____________ Д.Ю.Маврин

"__"____________ 1999 г.

1999 год

1Введение

Настоящий документ определяет организацию функционирования контрольно-проверочной программы пульта МФПУ.

2Назначение и выполняемые функции

Программа преднозначена для выполнения следующих функций.

  1. Выдача на ЖКИ МФПУ и терминал МПР инструкций пользователю по проведению контроля ( с предложением выбрать определенный набор тестов ).

  2. Контроль аппаратуры модуля МПР.

  3. Контроль связи модуля МПР с другими модулями в составе МФПУ.

  4. Контроль аппаратуры модулей в составе МФПУ, не имеющих собственных процессоров.

  5. Запуск контрольно-проверочных программ процессоров МВВ, МДК и МКК.

  6. Запуск программ связи с пользователем, требующих его участия.

  7. Отображение результатов контроля на ЖКП МФПУ.

  8. Подробное отображение хода и результатов контроля на терминале технологического компьютера.

3Состав СПО

СПО должно состоять из функционально-законченных программных комплексов ( ПК ), каждый из которых подразделяется на программные компоненты ( ПКт ). ПКт в свою очередь могут подразделяться на функционально-законченные программные модули ( ПМ ) .

СПО должно состоять из следующих программных комплексов:

  • ПК « Управляющая программа »;

  • ПК « Отображение на ЖКП »;

  • ПК « Тестирование МПР »;

  • ПК « Тестирование МКК »;

  • ПК « Тестирование МДК »;

  • ПК « Тестирование МВВ »;

  • ПК « Тестирование МБД »;

  • ПК « Тестирование МДС »;

  • ПК « Тестирование МСП »;

В первой версии программные комплексы «Тестирование МВВ», «Тестирование МБД», «Тестирование МДС», «Тестирование МСП», а также ряд компонентов из состава программных комплексов «Тестирование МПР», «Тестирование МДК» и «Тестирование МКК» должны представлять собой пустые функции, содержание которых будет определяться в последующих версиях программы.

4Описание форматов данных

5Описание алгоритмов

5.1ПК « Управляющая программа »

5.1.1Состав ПК

ПЕРЕЧЕНЬ СОКРАЩЕНИЙ

ЖКП - Жидко-кристаллическая панель

КПП - Контрольно-проверочная программа

МБД - Модуль базы данных

МВВ - Модуль ввода-вывода

МДК - Модуль дисплейного контроллера

МДС - Модуль дискретных сигналов

МКК - Модуль контроллера клавиатуры

МПР - Модуль процессора

МФПУ - Многофункциональный пульт управления

ОЗУ - Оперативное запоминающее устройство

ПЗУ - Постоянное запоминающее устройство

ПО - Программное обеспечение

ППЗУ - Перепрограммируемое ПЗУ

РК - Разовая команда

СПО - Специальное программное обеспечение

ТК - Технологический компьютер

КИВШ.00224-01 13

УТВЕРЖДАЮ

Главный конструктор ОАО УКБП

_____________ В.П.Деревянкин

"__"____________ 2000 г.

Многофункциональный пульт управления МФПУ

Специальное программное обеспечение модуля МПР

Демонстрационная программа

ОПИСАНИЕ ПРОГРАММЫ

Лист утверждения

КИВШ.00224-02 13-ЛУ

Начальник НИО-14

_____________ Ю.А.Куликов

"__"____________ 2000 г.

Ведущий программист

_____________ Д.Ю.Маврин

"__"____________ 2000 г

2000 г.

УТВЕРЖДЕН

КИВШ.00224-02 13-ЛУ

Многофункциональный пульт управления МФПУ

Специальное программное обеспечение модуля МПР

Демонстрационная программа

ОПИСАНИЕ ПРОГРАММЫ

КИВШ.00224-02 13

Листов 23

Литера

2000г.

Аннотация

В настоящем документе приводится описание версии 2 «Демонстрационной программы», выступающей в роли специального программного обеспечения модуля МПР пульта МФПУ.

Версия 2 включает в себя дополнительно к версии 1 программные компоненты взаимодействия с модулем МВВ. Кроме того изменены некоторые функции взаимодействия с МДК в соответствии с новой редакцией протокола взаимодействия, добавлены функции, обеспечивающие обмен с МДК в кадре «План полета».

Содержание

Аннотация 2

Содержание 3

1 Общие сведения 4

2 Функциональное назначение 4

3 Описание логической структуры 5

4 Используемые технические средства 18

5 Вызов и загрузка 19

6 Входные и выходные данные 20

Перечень сокращений 21

Лист регистрации изменений 22

1Общие сведения

Обозначение: КИВШ.00224-02

Полное наименование: Многофункциональный пульт управления МФПУ. Специальное программное обеспечение модуля МПР. Демонстрационная программа.

Краткое наименование: Демонстрационная программа.

Язык программирования: Си-плюс-плюс.

2Функциональное назначение

Вторая версия «Демонстрационной программы» поставляется УКБП в МИЭА со вторым комплектом пульта МФПУ. На ее основе МИЭА может вести разработку оригинального специального программного обеспечения процессора МПР пульта МФПУ.

Программа предназначена для демонстрации:

  • технологии разработки программного обеспечения процессора МПР ( формирование исходного текста, трансляция, загрузка в память МПР, запуск на выполнение );

  • приемов программирования обмена информацией с МКК, МДК и технологическим оборудованием;

  • приемов формирования базы данных МВВ, инициализации МВВ и обмена информации с ним;

  • работы МФПУ с кадрами «Общие установки» и «План полета».

При входе в программу на ЖКП выводится изображение кадра «Общие установки». При этом происходит инициализация модуля МВВ под управлением оператора, работающего за терминалом технологического компьютера.

По окончании инициализации в поле «Максимальный крен» кадра «Общие установки» отображается информация из ячейки 2 двухпроцессорного ОЗУ. При соответствующей настройке МВВ значение в этой ячейке может приниматься по любой из КЛС.

По нажатию пользователем функциональных клавиш МФПУ изменяется режим отображения ( цвета, метры/футы и т.п., возврат в исходное состояние ). По нажатию пользователем клавиш-цифр вводится значение «максимального крена».

По нажатию клавиши <ПОЛТ> на ЖКП выводится кадр «План полета». В этом кадре реакция программы на нажатия клавиш МФПУ должна соответствовать протоколу взаимодействия МПР и МДК. Возврат в кадр «Общие установки» - по нажатию клавиши <СБ>.

3Описание логической структуры

3.1Состав программного обеспечения

Программа включает в себя:

  1. головную функцию – диспетчер программы.

  2. набор функций языка Си/Си-плюс-плюс, обеспечивающих доступ к расширенной памяти для взаимодействия с модулями МДК и МВВ;

  3. набор функций вывода на ЖКП через МДК;

  4. набор функций реализации кадра «Общие установки»;

  5. набор функций реализации кадра «План полета»;

  6. набор функций управления таймером;

  7. набор функций обмена с МВВ;

  8. набор функций инициализации МВВ;

  9. набор функций контроля МВВ;

3.2Описание головной функции программы

Головная функция содержится в файле demo.exe.

Имя: void main ()

Назначение: диспетчер программы

Действия:

  • выводит сообщение о начале работы на ТК,

  • инициализирует МДК,

  • инициализирует МВВ,

  • выводит на ЖКП кадр №36 и устанавливает его параметры в исходное состояние,

  • отслеживает нажатия кнопок МФПУ и по ним запускает соответствующие функции управляющей программы,

  • после каждого изменения обновляет картинку на ЖКП,

  • по окончании работы останавливает МДК.

3.3Описание функций доступа к расширенной памяти

Функции доступа к расширенной памяти содержатся в файле Ext.cpp

Имя: void init15 ( )

Назначение: инициализация постоянной части данных для Int15h.

Имя: uint CtenExtV ( ulong adr, void* znc, uint dlina )

Назначение: чтение массива данных длиной dlina байт из расширенной памяти.

Параметры: адрес чтения; адрес записи, длина посылки.

Возврат: код ошибки ( 0 – успех ).

Действия:

  • устанавливает параметры Int15 на соответствующий сегмент памяти,

  • производит чтение при помощи функции BIOS Int15.

Имя: uint CtenExt ( ulong adr, uint *znc )

Назначение: чтение 16-разрядного слова из расширенной памяти.

Параметры: адрес чтения; адрес записи.

Возврат: код ошибки ( 0 – успех ).

Действия: вызывает функцию CtenExtV с соответствующими параметрами.

Имя: uint CtenMdk ( ulong adr, uint *znc )

Назначение: чтение 16-разрядного слова из расширенной памяти МДК.

Параметры: битовый адрес чтения; адрес записи.

Возврат: код ошибки ( 0 – успех ).

Действия: вызывает функцию CtenExtV с соответствующими параметрами.

Имя: uint ZapisExtV ( ulong adr, void* znc, uint dlina )

Назначение: запись массива данных длиной dlina байт в расширенную память.

Параметры: адрес записи; адрес чтения, длина посылки.

Возврат: код ошибки ( 0 – успех ).

Действия:

  • устанавливает параметры Int15 на соответствующий сегмент памяти,

  • производит чтение при помощи функции BIOS Int15.

Имя: uint ZapisExt ( ulong adr, uint *znc )

Назначение: запись 16-разрядного слова в расширенную память.

Параметры: адрес записи; адрес чтения.

Возврат: код ошибки ( 0 – успех ).

Действия: вызывает функцию ZapisExtV с соответствующими параметрами.

Имя: uint ZapisMdk ( ulong adr, uint *znc )

Назначение: запись 16-разрядного слова в расширенную память МДК.

Параметры: битовый адрес записи; адрес чтения.

Возврат: код ошибки ( 0 – успех ).

Действия: вызывает функцию ZapisExtV с соответствующими параметрами.

Имя: ulong adrMdk ( ulong adr )

Назначение: изменение формата адреса МДК.

Параметры: адрес в битовом формате МДК,

Возврат: адрес в байтовом формате МПР.

Действия: переводит адрес из битового формата МДК в обычный байтовый путем сдвига и прибавления смещения.

3.4Описание функций вывода на ЖКП через МДК

Функции вывода на ЖКП содержатся в файле Zki.cpp.

Для обращения к регистрам модуля МДК используются функции доступа к расширенной памяти, описанные в подразделе 3.1.

Имя: void checkZki ( void )

Назначение: обновление информации на ЖКП с проверкой готовности

Имя: void kadrZki ( int nKadr )

Назначение: вывод на ЖКП постоянной части нового кадра.

Параметр: номер кадра

Действия:

  • устанавливает соответствующее значение в память МДК,

  • обновляет картинку на ЖКП.

Имя: void puskZki ( )

Назначение: инициализация МДК.

Имя: void stopZki ( )

Назначение: останов МДК.

3.5Описание функций реализации кадра «Общие установки»

Функции реализации кадра «Общие установки» содержатся в файле demo.cpp.

3.5.1Функции ввода числа с отбражением на ЖКП

Имя: void wiwodTekZnc ( )

Назначение: передача числового значения МДК для вывода на ЖКП.

Действия: передает два байта – символа ( две младшие десятичные цифры числа ) из буфера в регистры МДК ( обновления картинки на ЖКП при этом не происходит ).

Имя: void kursor ( int x, int y, int rezRed )

Назначение: перемещение курсора по экрану МФПУ.

Параметры: новые координаты курсора, режим редактирования ( фон символа над курсором ).

Имя: void nacWwodKren ( )

Назначение: начало ввода числа

Действия:

  • очищает буфер,

  • устанавливает флаг ввода числа,

  • переводит курсор в нужное знакоместо.

Имя: void konWwodKren ( )

Назначение: конец ввода числа

Действия:

  • сбрасывает флаг ввода числа,

  • переводит курсор за границы экрана.

В реальном СПО эта функция должна производить ввод нового значения в соответствующую ячейку памяти.

Имя: void zaboy ( )

Назначение: забой последнего введенного символа

Действия: вычищает из буфера последний символ.

Имя: void wwodKren ( int Kod )

Назначение: диспетчер ввода числа с клавиатуры

Параметр: ASCII-код последней нажатой кнопки

Действия:

  • если не установлен флаг ввода числа – выход в main,

  • если нажата кнопка <СБ>, <ВВ> или <СТ> - запуск соответсвующей функции,

  • если нажата кнопка-цифра – занесение кода этой цифры в буфер, с анализом его переполнения.

Имя: void avtKren ( uint znac )

Назначение: вывод на ЖКП значения, полученного в виде числа

Параметр: число для выдачи

Действия:

  • если установлен флаг ввода числа – выход,

  • отбрасывание старших десятичных разрядов;

  • преобразование числа в символьную строку с записью ее в буфер.

Эта функция используется для демонстрационной выдачи на ЖКП числа, полученного из КЛС через МВВ.

3.5.2Функции изменения режима отображения

Имя: int invers ( ulong adr, uint mask )

Назначение: инверсия разрядов слова, определяющего режим отображения на ЖКП.

Параметры: адрес слова; маска разрядов, подлежащих инверсии.

Возврат: новое значение ячейки adr.

Действия:

  • читает 32-разрядное слово из памяти МДК ( сначала младшее, затем старшее слово ),

  • инвертирует заданные разряды,

  • возвращает 32-разрядное слово в память МДК ( сначала старшее, затем младшее слово ).

Имя: void izmZvet ( )

Назначение: инверсия разрядов слова, определяющего режим отображения на ЖКП ( разряды цвета отображения ).

Имя: void ishodnoe ( )

Назначение: установка разрядов слова, определяющего режим отображения на ЖКП в исходное состояние.

Действия:

  • записывает в буфер числового значения «15» с записью в память МДК ( обновления при этом не происходит ),

  • устанавливает в ноль все разряды слова, определяющего режим отображения на ЖКП,

  • уводит курсор за границы экрана.

3.6Описание функций реализации кадра “План полета”

Исходные тексты подпрограмм имитации кадра «План полета» содержатся в файле «PLAN.CPP». Этот программный компонент первоначально представлял собой отдельную программу, поэтому его подпрограммы зачастую функционально дублируют ПК

Имя: void Pos(long unsigned adr)

Назначение: формирование данных для аэродрома посадки.

Параметры: начальный адрес МДК.

Действия: производит запись структуры описывающей аэродром посадки по заданному адресу МДК.

Имя: void Zap(unsigned long adr, int i)

Назначение: формирование данных для запасного аэродрома.

Параметры: начальный адрес МДК и номер запасного аэродрома.

Действия: производит запись одной из структур описывающей запасной аэродром по заданному адресу МДК.

Имя: void formpm(unsigned long adr, int i)

Назначение: формирование данных для пункта маршрута либо точки схемы взлета(посадки).

Параметры: начальный адрес МДК и номер пункта маршрута.

Действия: производит запись одной из структур описывающей пункт маршрута или точку схемы взлета(посадки) по заданному адресу МДК. В завизимости от режима «ЗПУ-S» формирует путевой угол или дальность.

Имя: void formplan(void)

Назначение: формирование данных для кадра «План полета».

Параметры: начальный адрес МДК и номер пункта маршрута.

Действия: производит расчет номера строки с ИПМ, КПМ, аэродромом посадки в зависимости от номера прокрутки (глобальная переменная N). Формирует данные для каждой строки кадра. В зависимости от текущего режима формирует надписи «На», «Возвр», «Развор», направление разворота, признаки мигания.

Имя: void InitVzl(void)

Назначение: формирование данных для аэродрома взлета.

Действия: производит запись структуры описывающей аэродром взлета по адресу МДК соответствующей первой строке.

Имя: void Edit(int n)

Назначение: редактирование наименования в заданной строке.

Параметры: номер редактируемой строки.

Действия: производит редактирование наименования пункта маршрута или точки или аэродрома, управление курсором

Имя: void ChMode(int i)

Назначение: смена режима.

Параметры: номер текущего режима.

Действия: производит смену номера режима при нажатии одной из клавиш КСЛ

Имя: void plan(void)

Назначение: имитация кадра «План полета».

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

3.7Описание функций работы с таймером

Имя: void initTimer ()

Назначение: инициализация таймера

Действия: переадресовывает вектор таймера на функцию funTimer. Настраивает частоту прерываний.

Имя: void stopTimer ()

Назначение: остановка таймера

Действия: переадресовывает вектор таймера на соответствующую функцию DOS.

Имя: void interrupt funTimer (...)

Назначение: обработчик прерываний

Действия:

  • с периодом 55 мс запускает обработчик таймера DOS;

  • рассчитывает реальное время в миллисекундах;

  • с периодом 1 с запускает функции:

avtKren ( otvMww ) - отображает полученное от МВВ значение крена;

StorozTmrMww () – непрерывный контроль МВВ

checkZki () – обновление информации на ЖКИ.

3.8Описание функций обмена с МВВ

Функции обмена с МВВ содержатся в файле ObmenMww.cpp.

Для обращения к регистрам модуля МВВ используются функции доступа к расширенной памяти, описанные в подразделе 3.1.

Имя: uint OpenSf ( uint nSf )

Назначение: открытие семафора.

Параметр: номер семафора.

Возврат: код ошибки ( 0 – успех ).

Имя: uint CloseSf ( uint nSf )

Назначение: закрытие семафора.

Параметр: номер семафора.

Возврат: код ошибки ( 0 – успех ).

Имя: uint ZapisMwwInt ( uint nSf, uint adr, uint znc )

Назначение: запись в двухпроцессорное ОЗУ МВВ 16-разрядного значения.

Параметры: номер семафора, адрес ( смещение от начала двухпроцессорного ОЗУ), передаваемое значение.

Возврат: код ошибки ( 0 – успех ).

Имя: uint CtenMwwInt ( uint nSf, uint adr, uint* znc )

Назначение: чтение из двухпроцессорного ОЗУ МВВ 16-разрядного значения.

Параметры: номер семафора, адрес ( смещение от начала двухпроцессорного ОЗУ), адрес для записи принятого значения.

Возврат: код ошибки ( 0 – успех ).

Имя: uint ZapisMwwLng ( uint nSf, uint adr, ulong znc )

Назначение: запись в двухпроцессорное ОЗУ МВВ 32-разрядного значения.

Параметры: номер семафора, адрес ( смещение от начала двухпроцессорного ОЗУ), передаваемое значение.

Возврат: код ошибки ( 0 – успех ).

Имя: uint CtenMwwLng ( uint nSf, uint adr, ulong* znc )

Назначение: чтение из двухпроцессорного ОЗУ МВВ 32-разрядного значения.

Параметры: номер семафора, адрес ( смещение от начала двухпроцессорного ОЗУ), адрес для записи принятого значения.

Возврат: код ошибки ( 0 – успех ).

Имя: char* ImaRezimMww ( uint rezim )

Параметр: код режима работы МВВ.

Возврат: указатель на текстовую строку – имя соответствующего режима.

Имя: char* ImaErr ( uint err )

Параметр: код ошибки.

Возврат: указатель на текстовую строку – определение ошибки.

Имя: uint StorozTmrMww ()

Назначение: периодическое отслеживание значения программного сторожевого таймера МВВ.

Возврат: код ошибки ( 0 – успех ).

Действия:

  • записывает значение в первую ячейку сторожевого таймера и сравнивает значение, записанное туда в предыдущем запуске с полученным из второй ячейки сторожевого таймера ( см. Протокол взаимодействия МПР и МВВ ), при несоответствии выводит сообщение на экран технологического компьютера,

  • отслеживает значение в регистре состояния МВВ и при его изменении выводит сообщение на экран технологического компьютера;

  • при невозможности обращения к регистрам МВВ выводит сообщение на экран технологического компьютера.

Имя: void interrupt ObrabotkaPrerMww (...)

Назначение: обработка прерываний от МВВ.

Действия: по прерываниям инкрементирует счетчик.

3.9Описание функций инициализации МВВ

Функции обмена с МВВ содержатся в файле InitMww.cpp.

Для обращения к регистрам модуля МВВ используются функции, описанные в подразделах 3.1 и 3.7.

Имя: uint RezimMww ( uint trebRezim )

Назначение: изменение режима работы МВВ.

Параметр: требуемый режим работы МВВ.

Возврат: код ошибки ( 0 – успех ).

Действия:

  • записывает в управляющее слово МВВ код требуемого режима работы МВВ,

  • ожидает реакции МВВ в его слове состояния в течение 1 с. ,

  • выводит на экран технологического компьютера сообщение об успешном или неуспешном переводе МВВ в новый режим работы.

Имя: uint OzidanieOtvetaMww ( uint trebRezim, uint timeout )

Назначение: ожидания перехода МВВ в требуемый режим работы.

Параметр: требуемый режим работы МВВ, время ожидания в миллисекундах.

Возврат: код ошибки ( 0 – успех ).

Действия:

  • в течение заданного времени ожидает появления в слове состояния МВВ информации о требуемом режиме работы,

  • выводит на экран технологического компьютера сообщение об успешном или неуспешном переводе МВВ в новый режим работы.

Имя: uint InitObmenMww ()

Назначение: инициализация МВВ согласно Протокола взаимодействия МПР и МВВ ( диспетчер инициализации ).

Возврат: код ошибки ( 0 – успех ).

Имя: uint FormBdMww ()

Назначение: передача базы данных МВВ.

Возврат: код ошибки ( 0 – успех ).

Действия:

  • запрашивает на экране ТК источник базы данных ( файл, вручную ),

  • записывает базу данных в память МВВ,

  • переводит МВВ в режим инициализации.

Имя: uint ZaprosBdRucn ()

Назначение: ручной ввод базы данных МВВ.

Возврат: код ошибки ( 0 – успех ).

Действия: запрашивает у оператора на экране ТК значения для базы данных МВВ.

Имя: uint ZaprosGrSign ( struct TGrSign* gr )

Назначение: ручной ввод базы данных МВВ ( данных об одной группе сигналов ). Вызывается из функции ZaprosBdRucn.

Имя: ulong KonSum ( void* gr, uint len )

Назначение: подсчет контрольной суммы. Вызывается из функции ZaprosBdRucn.

3.10Описание функций контроля МВВ

Функции контроля аппаратуры обмена МПР-МВВ и расширенного контроля МВВ содержатся в файлах KontMww.cpp и RasKont.cpp. Каждая из функций этих файлов обеспечивает выполнение одного из тестов аппаратуры МВВ согласно алгоритмам, приведенным в протоколе взаимодействия МПР и МВВ.

Имя: uint KontMww (void)

Назначение: диспетчер контроля аппаратуры обмена МПР-МВВ.

Возврат: код ошибки ( 0 – успех ).

Имя: uint RasKont (void)

Назначение: диспетчер расширенного контроля МВВ.

Возврат: код ошибки ( 0 – успех ).

4Используемые технические средства

Для функционирования программы необходимо следующее оборудование:

  • пульт МФПУ;

  • персональный компьютер семейства IBM PC.

  • жгут соединительный между МФПУ и компьютером, распаянный как «Нуль-модем».

5Вызов и загрузка

5.1Запуск готовой программы

Загрузочный файл программы находится в ППЗУ процессора МПР на виртуальном диске E: с именем DEMO.EXE. Для ее запуска необходимо произвести следующие действия:

  • включить питание МФПУ и технологического компьютера;

  • запустить на ТК программу SmartLink;

  • в появившемся на экране ТК консольном окне ( черное с белыми буквами ) ввести “E:DEMO”.

5.2Корректировка и запуск откорректированной программы

Исходные файлы программы находятся на гибком магнитном диске КИВШ.00224-02 90. Для внесения изменений в программу необходимо произвести следующие действия:

  1. Скопировать исходные файлы (с расширениями .cpp и .h ) на жесткий диск технологического компьютера.

  2. Войти в среду программирования на языке Си-плюс-плюс ( например Borland C++ 3.1 ), создать проект, открыть исходные файлы.

  3. Внести в файлы требуемые корректировки.

  4. Произвести трансляцию программы с получением файла DEMO.EXE.

  5. Выйти из среды программирования и запустить программу SmartLink для связи с МФПУ.

  6. Скопировать файл DEMO.EXE в память процессора ( на виртуальный диск в ОЗУ МПР ), для чего:

- в консольном окне ввести команды:

F:

TRANSFER DEMO.EXE

  • нажать

  • в появившемся диалоговом окне ввести DEMO.EXE и нажать .

  1. Произвести запуск программы, для чего в консольном окне ввести «DEMO».

В случае возникновения затруднений с копированием информации в память МПР МФПУ обратитесь к руководству оператора программы SmartLink.

6Входные и выходные данные

Обмен данными с процессорами МВВ, МКК и МДК осуществляется на основании протоколов взаимодействия:

  • КИВШ.00225-01 91 – между МПР и МВВ,

  • КИВШ.00226-02 91 – между МПР и МДК,

  • КИВШ.00227-01 91 – между МПР и МКК.

Перечень сокращений

ГМД - Гибкий магнитный диск

ЖКП - Жидко-кристаллическая панель

КПП - Контрольно-проверочная программа

МВВ - Модуль ввода-вывода

МДК - Модуль дисплейного контроллера

МКК - Модуль контроллера клавиатуры

МПР - Модуль процессора

МФПУ - Многофункциональный пульт управления

ОЗУ - Оперативное запоминающее устройство

ОПО - Общее программное обеспечение

ПЗУ - Постоянное запоминающее устройство

ПО - Программное обеспечение

ППЗУ - Перепрограммируемое ПЗУ

СПО - Специальное программное обеспечение

ТК - Технологический компьютер

Лист регистрации изменений

Номера листов (страниц)

Всего

Листов

(стран.)

в докум.

доку-

мента

Входя-

щий № сопрово-дительного документа и дата

Подп.

Дата

Изм.

Изме-

Ненных

заменен-

ных

новых

аннули-

рованных

КИВШ.00223-01 31-ЛУ

УТВЕРЖДАЮ

Главный конструктор ОАО «УКБП»

_____________ В.П.Деревянкин

"__"____________ 1999 г.

Многофункциональный пульт управления МФПУ

Контрольно-проверочная программа

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

Лист утверждения

КИВШ.00223-01 31-ЛУ

.

Начальник НИО-14

_____________ Ю.А.Куликов

"__"____________ 1999 г.

Ведущий программист

_____________ Д.Ю.Маврин

"__"____________ 1999 г.

1999 г.

КИВШ.00223-01

УТВЕРЖДАЮ

Главный конструктор ОАО «УКБП»

_____________ В.П.Деревянкин

"__"____________ 1999 г.

Многофункциональный пульт управления МФПУ

Контрольно-проверочная программа

СПЕЦИФИКАЦИЯ

Лист утверждения

КИВШ.00223-01-ЛУ

Начальник НИО-14

_____________ Ю.А.Куликов

"__"____________ 1999 г.

Ведущий программист

_____________ Д.Ю.Маврин

"__"____________ 1999 г.

1999 г.

УТВЕРЖДЕН

КИВШ.00223-01-ЛУ

Многофункциональный пульт управления МФПУ

Контрольно-проверочная программа

СПЕЦИФИКАЦИЯ

КИВШ.00223-01

Листов 4

1999 г

-2-

КИВШ.00223-01

Аннотация

Настоящая спецификация описывает состав программной документации на КПП пульта МФПУ по состоянию на 31.03.99.

ГОСУДАРСТВЕННЫЙ КОМИТЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ

ПО ВЫСШЕМУ ОБРАЗОВАНИЮ

УЛЬЯНОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

РЕЦЕНЗИЯ

на дипломную работу

Студента группы ЭВМдУ-43 УлГТУ Грачева Александра Юрьевича

Тема: Разработка СПО указателя скорости с цифровым выходом УСВИЦ-250

На отзыв представлено 6 листа чертежей и пояснительная записка на ____ листах.

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

Поэтому тема дипломной работы, направленной на создание указателя скорости с цифровым выходом УСВИЦ-250, является весьма актуальной.

В дипломной работе проведен анлиз и классификация аппаратных и программных средств контроллеров, имеющихся и находящихся в разработке контроллеров. Разработана и достаточно обоснована структурная схема контроллера, исходя из требований стандарта ТЗ. Прриведена обобщенная структура и алгоритм функционирования контроллера, реализация программного обеспечения и экономический расчет.

Графическая часть работы выполнена с соблюдением требований ЕСКД, а пояснительная записка оформлена грамотно и аккуратно с использованием современной вычислительной техники.

В целом дипломная работа выполнена на хорошем уровне в полном объеме, предусмотренном ТЗ и заслуживает оценки “хорошо”, а Грачев А.Ю. — звания бакалавра.

Рецензент __________________________

“_____”_______________________1999 г.

Фамилия, Имя, Отчество рецензента : Козицин Владимир Кузьмич.

Занимаемая должность: Заместитель главного конструктора.

ГОСУДАРСТВЕННЫЙ КОМИТЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ

ПО ВЫСШЕМУ ОБРАЗОВАНИЮ

УЛЬЯНОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ОТЗЫВ

на дипломную работу

Студента группы ЭВМдУ-43 УлГТУ Грачева Александра Юрьевича

Тема: Разработка СПО указателя скорости с цифровым выходом УСВИЦ-250

На отзыв представлено 6 листа чертежей и пояснительная записка на __ листах.

Современные нормы летной годности, как отечественные НЛГВ-2, так и зарубежные FAR-29, предъявляют высокие требования к безопасности полетов, что напрямую связано с надежностью применяемого оборудования, резервированием основных каналов информации и предоставлением пилоту ограничительных сигналов при возможно минимальном весе оборудования. Поэтому разработка указателя скорости с цифровым выходом является весьма актуальной. Тем более, сохраняется обязательная функция прибора как резервного высоконадежного механического указателя приборной скорости.

На основании проведенного патентного поиска, обзора методов измерения воздушных скоростей и обзора последних разработок указателей скорости автором разработана конструкция указателя, в которой использованы оригинальные технические решения, примененные в указателях УСВИЦ-250 ( подвижный индекс Vм.д.), УСБС-350 (выдача разовой команды Vпр  Vм.д. ) и УСЦ-2 ( наличие цифрового выхода Vпр.ц. ).

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

Графическая часть работы выполнена, в основном, с соблюдением требований ЕСКД и содержит материал, дополняющий пояснительную записку.

Дипломник заслуживает присвоение звания бакалавра.

“_____”_______________________1999 г. Руководитель _________________

( подпись )

ГОСУДАРСТВЕННЫЙ КОМИТЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ

ПО ВЫСШЕМУ ОБРАЗОВАНИЮ

УЛЬЯНОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ОТЗЫВ

на дипломную работу

Студентки группы ПД-42 УГТУ Аксаковской Анны Владимировны

Тема: Указатель скорости самолета с цифровым выходом и индексом максимально допустимой скорости

На отзыв представлено 4 листа чертежей и пояснительная записка на 88 листах.

Современные нормы летной годности, как отечественные НЛГС-3, так и зарубежные FAR-23, предъявляют высокие требования к безопасности полетов, что напрямую связано с надежностью применяемого оборудования, резервированием основных каналов информации и предоставлением пилоту ограничительных сигналов при возможно минимальном весе оборудования. Поэтому разработка указателя скорости с цифровым выходом и индексом максимально допустимой скорости ( ограничение по скорости полета ) является весьма актуальной. Тем более, сохраняется обязательная функция прибора как резервного высоконадежного механического указателя приборной скорости.

На основании проведенного патентного поиска, обзора методов измерения воздушных скоростей и обзора последних разработок указателей скорости автором разработана конструкция указателя, в которой использованы оригинальные технические решения, примененные в указателях УСВИ-200 -Э

( подвижный индекс Vм.д.), УСБС-200-Э ( выдача разовой команды Vпр  Vм.д. ) и УСЦ-2 ( наличие цифрового выхода Vпр.ц. ).

В расчетно-конструкторской части приведено подробное описание работы указателя и его узлов, в том числе платы обработки электрических сигналов, анализ динамической погрешности указателя, сделаны расчеты шкалы, кодовой маски и погрешности преобразователя “угол-код”, а также проведен расчет погрешности от трения в механизме.

Графическая часть работы выполнена, в основном, с соблюдением требований ЕСКД и содержит материал, дополняющий пояснительную записку.

Дипломник заслуживает присвоение звания бакалавра.

“_____”_______________________1999 г. Руководитель _________________

( подпись )

ГОСУДАРСТВЕННЫЙ КОМИТЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ

ПО ВЫСШЕМУ ОБРАЗОВАНИЮ

УЛЬЯНОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

РЕЦЕНЗИЯ

на дипломную работу

Студента группы ЭВМдУ-53 УГТУ Грачева Александра Юрьевича

Тема: Разработка СПО указателя скорости с цифровым выходом УСВИЦ-250

На отзыв представлено 8 листа чертежей и пояснительная записка на ____ листах.

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

Поэтому тема дипломной работы, направленной на создание указателя скорости с цифровым выходом УСВИЦ-250, является весьма актуальной.

В дипломной работе проведен анализ и классификация аппаратных и программных средств контроллеров, имеющихся и находящихся в разработке контроллеров. Разработана и достаточно обоснована структурная схема контроллера, исходя из требований стандарта ТЗ. Приведена обобщенная структура и алгоритм функционирования контроллера, реализация программного обеспечения и экономический расчет.

Графическая часть работы выполнена с соблюдением требований ЕСКД, а пояснительная записка оформлена грамотно и аккуратно с использованием современной вычислительной техники.

В целом дипломная работа выполнена на хорошем уровне в полном объеме, предусмотренном ТЗ и заслуживает оценки “хорошо”, а Грачев А.Ю. — звания бакалавра.

Рецензент __________________________

“_____”_______________________1999 г.

Фамилия, Имя, Отчество рецензента: Козицин Владимир Кузьмич.

Занимаемая должность: Заместитель главного конструктора.

ГОСУДАРСТВЕННЫЙ КОМИТЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ

ПО ВЫСШЕМУ ОБРАЗОВАНИЮ

УЛЬЯНОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ОТЗЫВ

на дипломную работу

Студента группы ЭВМдУ-53 УГТУ Грачева Александра Юрьевича

Тема: Разработка СПО указателя скорости с цифровым выходом УСВИЦ-250

На отзыв представлено 8 листа чертежей и пояснительная записка на __ листах.

Современные нормы летной годности, как отечественные НЛГВ-2, так и зарубежные FAR-29, предъявляют высокие требования к безопасности полетов, что напрямую связано с надежностью применяемого оборудования, резервированием основных каналов информации и предоставлением пилоту ограничительных сигналов при возможно минимальном весе оборудования. Поэтому разработка указателя скорости с цифровым выходом является весьма актуальной. Тем более, сохраняется обязательная функция прибора как резервного высоконадежного механического указателя приборной скорости.

На основании проведенного патентного поиска, обзора методов измерения воздушных скоростей и обзора последних разработок указателей скорости автором разработана конструкция указателя, в которой использованы оригинальные технические решения, примененные в указателях УСВИЦ-250 ( подвижный индекс Vм.д.), УСБС-350 (выдача разовой команды Vпр  Vм.д. ) и УСЦ-2 ( наличие цифрового выхода Vпр.ц. ).

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

Графическая часть работы выполнена, в основном, с соблюдением требований ЕСКД и содержит материал, дополняющий пояснительную записку.

Дипломник заслуживает присвоение звания бакалавра.

“_____”_______________________1999 г. Руководитель _________________

( подпись )

ГОСУДАРСТВЕННЫЙ КОМИТЕТ РОССИЙСКОЙ ФЕДЕРАЦИИ

ПО ВЫСШЕМУ ОБРАЗОВАНИЮ

УЛЬЯНОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

ОТЗЫВ

на дипломную работу

Студентки группы ПД-42 УГТУ Аксаковской Анны Владимировны

Тема: Указатель скорости самолета с цифровым выходом и индексом максимально допустимой скорости

На отзыв представлено 4 листа чертежей и пояснительная записка на 88 листах.

Современные нормы летной годности, как отечественные НЛГС-3, так и зарубежные FAR-23, предъявляют высокие требования к безопасности полетов, что напрямую связано с надежностью применяемого оборудования, резервированием основных каналов информации и предоставлением пилоту ограничительных сигналов при возможно минимальном весе оборудования. Поэтому разработка указателя скорости с цифровым выходом и индексом максимально допустимой скорости ( ограничение по скорости полета ) является весьма актуальной. Тем более, сохраняется обязательная функция прибора как резервного высоконадежного механического указателя приборной скорости.

На основании проведенного патентного поиска, обзора методов измерения воздушных скоростей и обзора последних разработок указателей скорости автором разработана конструкция указателя, в которой использованы оригинальные технические решения, примененные в указателях УСВИ-200 -Э

( подвижный индекс Vм.д.), УСБС-200-Э ( выдача разовой команды Vпр  Vм.д. ) и УСЦ-2 ( наличие цифрового выхода Vпр.ц. ).

В расчетно-конструкторской части приведено подробное описание работы указателя и его узлов, в том числе платы обработки электрических сигналов, анализ динамической погрешности указателя, сделаны расчеты шкалы, кодовой маски и погрешности преобразователя “угол-код”, а также проведен расчет погрешности от трения в механизме.

Графическая часть работы выполнена, в основном, с соблюдением требований ЕСКД и содержит материал, дополняющий пояснительную записку.

Дипломник заслуживает присвоение звания бакалавра.

“_____”_______________________1999 г. Руководитель _________________

( подпись )

Анализ помещения по электробезопасности [8]

Анализ помещения по электробезопасности [8].

По степени опасности поражения людей электрическим током помещение лаборатории – без повышенной опасности, так как отсутствуют условия, создающие повышенную опасность: сырость и токопроводящая пыль, токопроводящий пол, высокая температура [8].

Сеть питания – однофазная, 220 В, 50 Гц, с заземленным нулевым кабелем.

В лаборатории поддерживаются следующие меры по техники безопасности:

  1. Имеется автоматический выключатель;

  2. Все электрооборудование имеет рабочую изоляцию;

  3. К электрооборудованию допускаются лица не моложе 18 лет и прошедшие инструктаж по техники безопасности;

  4. Регулярно проводится технический осмотр оборудования.

Возможные пути получения тока (удар эл. током):

  1. Попытка ремонта оборудования (ПЭВМ, ВДТ и т.д.) своими силами без его обесточивания.

  2. Попытка ремонта розетки своими силами без отключения ее от сети.

  3. Попытка вставить нестандартную вилку (европейский стандарт) в отечественную розетку.

  4. Разболтанность розеток.

  5. Неисправность удлинителя.

  6. Неисправность рабочего инструмента (паяльника и т.д.)

Анализ помещения по взрывопожарной безопасности.

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

Опасные факторы пожаров и взрывов [44].

Причины возникновения пожаров: [44]

  1. Ошибки в технологических процессах и проектировании.

  2. Конструктивные недостатки оборудования, неправильный выбор
    исполнения электрооборудования для взрывоопасных зон.

  3. Неправильное применение открытого огня.

  4. Процессы самовозгорания

  5. Нарушение требований СНиП.

Опасные факторы пожара:

Высокая температура окружающей среды; дым; сниженная концентрация кислорода (<12%); отравляющие вещества, токсичные продукты горения; вторичные проявления пожара: разрушающиеся здания и конструкции, выход горючих газов, жидкостей из трубопроводов и т.д., огнетушащие вещества (С02 (-60 С), фреон), взрыв.

Категории производств по взрывопожарной опасности:

  1. А - взрывопожароопасные производства; (АЭС, производство микросхем);

  2. Б - взрывопожароопасные производства, легковоспламеняющиеся жидкости=<28 С, горючие газы, пыль;

  3. В - твердые горючие материалы и вещества (помещения, где есть компьютеры);

  4. Г - открытый огонь или технология с высокой температурой;

  5. Д – не пожароопасные производства, твердые негорючие материалы в холодном состоянии;

Источниками возникновения пожара в лаборатории могут оказаться ПЭВМ и другие электрические устройства, где в результате неисправностей образуются перегретые элементы, электрические дуги и искры, способные вызвать загорание горючих материалов, которыми в лаборатории являются: столы, стулья, двери и т.п.

По взрывоопасности помещение можно отнести к категории В – пожароопасное, так как имеются твердые сгораемые вещества и материалы: стулья, столы, дверь, шкафы.

На случай пожара в помещении имеется огнетушитель марки ОУ-2.

В зависимости от пределов огнестойкости строительных конструкций в установлены восемь степеней огнестойкости зданий: I, II, III, IIIa, IIIб, IV, IVa, V. Учитывая высокую стоимость оборудования, а также категорию пожароопасности здание, в котором предусмотрено размещение ЭВМ, имеет II степень огнестойкости.

Sadasfsdf

Содержание

1 Анализ и классификация аппаратных и программных средств контроллеров 6

1.1 Классификация контроллеров 6

1.2 Анализ инструментальных средств 9

1.2.1 Машинно-ориентированные языки 9

1.2.2 Языки высокого уровня 9

1.2.3 Специализированные языки. 11

1.3 Постановка задачи 15

1.4 Выводы 16

2 Обобщенная структура и алгоритм функционирования контроллера 18

2.1 Выбор инструментальных средств и элементной базы. 18

2.1.1 Структурная схема микропроцессора 21

2.1.2 Арифметическо-логическое устройство 21

2.1.3 Резидентная память 22

2.1.4 Регистры-указатели. 25

2.1.5 Таймер/счетчик. 26

2.1.6 Запись в порт. 27

2.1.7 Особенности работы портов. 28

2.1.8 Обзор типов команд 28

2.1.8.1 Типы операндов. 28

2.1.8.2 Способы адресации данных. 29

2.1.8.3 Флаги результата. 30

2.1.8.4 Символическая адресация. 31

2.1.9 Выбор Инструментальных средств 32

2.2 Разработка структуры программного обеспечения подсистемы. 35

2.3 Описание структуры полей программы 38

2.3.1 Переменные для временных обработак и константы с их адресами 38

2.3.2 Переменные для выходного слова адрес 206 по РТМ с их адресами 38

2.3.3 Переменные для выходного слова адрес 207 по РТМ с их адресами 39

2.3.4 Переменные для выходного слова адрес 271 по РТМ с их адресами 39

2.3.5 Переменная для выдачи на ЦАП с его адресом 39

2.3.6 Переменные для рабочих областей стеков с их адресами 39

2.3.7 Переменные для сохранение переведенных скоростей с их адресами 40

2.3.8 Переменные вводимых скорости с приборной скорости маски с их адресами 40

2.3.9 Переменные вводимых скорости с максимальной скорости маски с их адресами 40

2.3.10 Переменные рабочее слово SlRab расписаны в битовой резидентной памяти по битам и словам с их адресами 40

2.3.11 Переменные приборной скорости в коде Грея расписаны в битовой резидентной памяти по битам с их адресами 41

2.3.12 Переменные приборной скорости в двоичном коде расписаны в битовой резидентной памяти по битам с их адресами 42

2.3.13 Переменные максимальной скорости в коде Грея расписаны в битовой резидентной памяти по битам с их адресами 42

2.3.14 Переменные максимальной скорости в двоичном коде расписаны в битовой резидентной памяти по битам с их адресами 43

2.3.15 Формат слова 206 и 207. 43

2.3.16 Матрица состояния информации параметров. 43

2.4 Алгоритм функционирования контроллера 44

2.5 Выводы 45

3 Реализация 47

3.1 Описание функций основных модулей системы. 47

3.1.1 Основная программа 47

3.1.2 Процедура установки приоритетов прерываний. 51

3.1.3 Процедура обнуления переменных. 51

3.1.4 Процедура считывания с кодов грея с максимальной допустимой маски. 52

3.1.5 Процедура считывания с кодов грея с приборной маски. 53

3.1.6 Процедура вывода в магистраль 32х-разрядного слова с частотой 12.5 КГц. 54

3.1.7 Процедура аналогового вывода приборной скорости на ЦАП. 55

3.1.8 Процедура установки признака от УСВИЦ-250. 56

3.1.9 Процедура установки признаков работоспособности УСВИЦ-250. 56

3.1.10 Процедура наземного контроля. 57

3.1.11 Процедура подсчета и записи бита четности 32х-разрядного рабочего слова. 60

3.1.12 Процедура перевода из кодов грея в двоичный код максимально допустимую скорость. 60

3.1.13 Процедура перевода из кодов грея в двоичный код приборную скорость. 61

3.1.14 Процедура проверки на отказ маски максимальной скорости. 62

3.1.15 Процедура проверки на отказ маски приборной скорости. 63

3.1.16 Процедура масштабирование для вывода на ЦАП. 63

3.1.17 Процедура формирование 32х-разрядного слова с соответствием с РТМ 64

3.1.18 Процедура тест контроля программного обеспечения 65

3.1.19 Процедура проверки скорости, на меньше 50км. 66

3.2 Описание аппаратных функций 67

3.2.1 Основные функции системы 67

3.2.2 Технология инсталляции программы 67

3.2.3 Инструкция пользователю 67

3.3 Оценка качества проекта 68

3.4 Выводы 71

4 Организационно-техническая часть 72

4.1 Расчет затрат на разработку программы 72

4.2 Расчет экономической эффективности от внедрения программного продукта 74

4.2.1 Затраты до внедрения 74

4.2.2 Затраты после внедрения 75

4.3 Выводы 77

5 Экологичность и безопасность проекта. 78

Введение. 78

5.1 Анализ опасных и вредных факторов. 78

5.1.1 Анализ помещения по электробезопасности [8]. 86

5.1.2 Анализ помещения по взрывопожарной безопасности. 87

5.1.2.1 Причины возникновения пожаров: [44] 87

5.2 Анализ по обеспечению здоровых и безопасных условий труда. 88

5.3 Паспорт рабочего места. 91

5.4 Оценка условий труда по степени вредности и опасности. 97

Список принятых сокращений

РТМ - руководящий технический материал

ТУ - технические условия

ОС - операционная система

ПС - программные средства

ПО - программное обеспечение

ПЭВМ - персональная электpонно-вычислительная машина

СУБД - система управления базами данных

ЭВМ - электpонно-вычислительная машина

МК - микропроцессор

СМ - система микропрограммирования

ЦАП - цифро-аналоговый преобразователь

ПЗУ - постоянное запоминающие устройства

ОЗУ - оперативное запоминающие устройства

Введение

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

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

В микропроцессорной технике выделился самостоятельный класс больших интегральных схем (БИС) - однокристальные микроЭВМ (ОМЭВМ), которые предназначены для «интеллектуализации» оборудования различного назначения. Архитектура однокристальных микроЭВМ - результат эволюции архитектуры микропроцессоров и микропроцессорных систем, обусловленной стремлением существенно снизить их аппаратные затраты и стоимость. Как правило, эти цели достигаются как путем повышения уровня интеграции БИС, так и за счет поиска компромисса между стоимостью, аппаратными затратами и техническими характеристиками ОМЭВМ.

ОМЭВМ представляют собой приборы, конструктивно выполненные в виде одной БИС и включающие в себя все устройства, необходимые для реализации цифровой системы управления минимальной конфигурации: процессор, запоминающее устройство данных, запоминающее устройство команд, внутренний генератор тактовых сигналов, а также программируемые интегральные схемы для связи с внешней средой. Использование ОМЭВМ в системах управления обеспечивает достижение исключительно высоких показателей эффективности при столь низкой стоимости (во многих применениях система может состоять только из одной БИС ОМЭВМ), что им, видимо, нет в ближайшем времени альтернативной элементной базы для построения управляющих и/или регулирующих систем, В настоящее время более двух третей мирового рынка микропроцессорных средств составляют именно БИС ОМЭВМ. В некоторых публикациях однокристальную микроЭВМ (ОМЭВМ) называют «микроконтроллер». Обосновывается это тем обстоятельством, что такие микросхемы имеют незначительные емкости памяти, физическое и логическое разделение памяти программ (ПЗУ) и памяти данных (ОЗУ), упрощенную и ориентированную на задачи управления систему команд, примитивные методы адресации команд и данных. Специфическая организация ввода-вывода информации предопределяет область их применения в качестве специализированных вычислителей, включенных в контур управления объектом или процессом. Структурная организация, набор команд и аппаратно-программные средства ввода-вывода информации этих микросхем лучше всего приспособлены для решения задач управления и регулирования в приборах, устройствах и системах автоматики, а не для решения задач обработки данных. Указанные выше соображения отражают технический уровень ОМЭВМ в настоящий момент.

1Анализ и классификация аппаратных и программных средств контроллеров

1.1Классификация контроллеров

Ускорение научно-технического прогресса и совершенствование хозяйственного механизма тесно связаны с развитием новейшей информационной технологии. Тенденция к большей децентрализации функций управления объективно требует совершенствования непосредственно рабочих мест пользователей, вовлеченных в процесс управления, прежде всего за счет их автоматизации. Очевидно, что без конкретных потребностей (например, в повышении производительности интеллектуального уровня личного труда, выполнение работы быстрее и экономичнее) едва ли возникла бы необходимость в контроллерах. Внедрение контроллеров позволяет реализовать качественно новую информационную технологию, при которой потребитель информации получает и анализирует интересующие его данные непосредственно в процессе общения с ПЭВМ, что обеспечивает комплексную автоматизацию конкретных задач управления. Работа контроллера помогает лучшему осознанию проблемной ситуации, позволяет частично или полностью решить проблему, подталкивает к оперативному построению модели объекта управления и, тем самым, к грамотному и быстрому принятию решений.

Попытаемся классифицировать контроллеры вообще.

Будем определять контроллеры как совокупность методических,

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

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

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

Следующий аспект методического обеспечения - это реализация заданных функций контроллера, т.е. собственно его функционирования. Здесь необходимы методики определения цели текущей деятельности, информационной потребности, всевозможных сценариев для описания процессов ее реализации. Эти методические средства могут явным или неявным образом учитываться пользователем. В первом случае пользователь в значительной степени сам планирует свою деятельность.

Языковые средства контроллера необходимы, прежде всего, для однозначного смыслового соответствия действий пользователя и реакции ПЭВМ. Без них невозможен процесс обучения, организация диалога, обнаружение и исправление ошибок. Сложность разработки таких языков заключается в том, что они должны быть преимущественно непроцедурными. Если процедурный язык указывает, как выполняется задаваемое, то непроцедурный - что необходимо выполнить без детализации того, какие действия для этого требуются. Так как конечные пользователи не знают в деталях процесс реализации информационной потребности, чем выше интеллектуальность контроллера, тем больше непроцедурных возможностей должно быть предусмотрено в его языках.

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

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

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

Современные нормы летной годности, как отечественные НЛГС-3, так и зарубежные FAR-23, предъявляют высокие требования к безопасности полетов, что напрямую связано с надежностью применяемого оборудования, резервированием основных каналов информации и предоставлением пилоту ограничительных сигналов при возможно минимальном весе оборудования. Поэтому тема дипломной работы, направленной на создание указателя скорости с цифровым выходом УСВИЦ-250, является весьма актуальной.

На основании обзора методов измерения воздушных скоростей и обзора последних разработок указателей скорости разработана конструкция указателя, в которой использованы оригинальные технические решения, примененные в указателях УСВИ-200 –Э (подвижный индекс Vм.д.), УСБС-200-Э (выдача разовой команды Vпр  Vм.д.) и УСЦ-2 (наличие цифрового выхода Vпр.ц.).

1.2Анализ инструментальных средств

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

Все языки программирования условно можно разделить на три уровня:

- машинный код;

- автокод (язык ассемблера);

- языки высокого уровня (процедурные языки - BASIC, FORTRAN, PASCAL, C, MODULA-2, ADA; и языки исскуственного интеллекта - LISP, PROLOG, SMALLTALK, OCCAM).

1.2.1Машинно-ориентированные языки

Более понятные для ЭВМ - это так называемые машинно-ориентированные языки (машинный код и язык ассемблера). Более понятные для человека именуют языками высокого уровня.

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

1.2.2Языки высокого уровня

Алгоритмические языки (языки программирования высокого

уровня общего назначения) являются машинно-независимыми,

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

Языки высокого уровня в свою очередь подразделяются на

языки процедурного (или императивного) и эвристического

(декларативного) стиля программирования (языки исскуственного интеллекта). Наиболее популярные языки программирования

ПЭВМ высокого уровня приведены в таблице 1.2.

Таблица 1.2.

Язык

Год разработки

Разработчик

Основное применение

FORTRAN

1954

Дж. Бэкус (США)

Математические расчеты, научные исследования

BASIC

1965

Дж. Кенеми (США)

Обучение, тестовые программы

PASCAL

1971

Н.Вирт (Швейцария)

Обучение, широкое применение

C

1972

Д.М.Ричи (США)

Системное программирование

MODULA-2

1981

Н.Вирт (Швейцария)

Разработка больших программных комплексов

LISP

1960

Дж. Маккарти (США)

Системы искусственного интеллекта

PROLOG

1971

А.Колмедауэр (Франция)

Принятие решений, логический вывод

SMALLTALK

Середина 1970-х

А.КейАнглия)

Системы диалога со средствами машинной графики

OCCAM

Начало

1980-х

Фирма INMOS(Англия)

Системы с пареллельными процессами

Кроме того, в настоящее время появились языки так называемого 4-го поколения - это языки СУБД, электронных таблиц, интегрированных систем и т.д., которые предназначены для решения узкого круга задач прикладного характера (например, обработка баз данных), но зато еще больше, по сравнению с языками общего назначения, снижают затраты времени и труда на создание выходного продукта.

1.2.3Специализированные языки.

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

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

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

Существует множество контроллеров, представляемых различными

производителями. Наибольшее распространение получили контроллеры на основе микрокомплекта 8051. Наибольшую популярность среди них имеет микроконтроллер фирмы INTEL 8051.

С-51

ICC8051 поддерживает не только 8051 (КР1816ВЕ51), но и все другие микро-ЭВМ, использующие ту же основную архитектуру и систему команд (8032, 8044, 80515, 80525 и т.д.). Может потребоваться только изменение объявлений регистров специального назначения и портов ввода/вывода.

Особенности ICC8051 V.4.00:

- два режима компиляции: стандарт ANSI и стандарт ANSI + расширение языка для 8051

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

- Дополнительный атрибут для переменных, определяющий тип памяти размещения: DATA, IDATA, XDATA или CODE

- Статическое размещение локальных переменных позволяет сгенерировать компактный и быстрый код

- Переменные типа SFR (регистр специального назначения) и BIT

(прямоадресуемые биты) могут объявляться и использоваться как стандартные типы данных в языке Си

- Возможность написания на Си функций-обработчиков прерываний (включая определение векторов прерываний) без использования ассемблера

- Поставляемые вместе с компилятором обьявления SFR и BIT, специфичных для каждого члена семейства кристаллов 8051.

Компилятор Си ICC8051 поддерживает все основные элементы языка Си в стандарте ANSI. Переменные располагаются в памяти, начиная со старшего байта и заканчиваются младшим ("старший байт - по младшему адресу").

Переменные всегда плотно упакованы в памяти, т.к. архитектура 8051 не требует выравнивания данных.

Следующая таблица описывает размер и диапазон значений различных объектов:

---------------------------------------------------------------------

Тип данных Количество байт Диапазон

---------------------------------------------------------------------

bit 1 бит [1] 0 or 1

sfr 1 байт [1] 0 ot 255

char 1 байт [2]

enum [3] [3]

signed char 1 байт -128 to 127

unsigned char 1 байт 0 ot 255

short 2 байта -32768 to 32767

unsigned short 2 байта 0 to 65535

int 2 байта -32768 to 32767

unsigned int 2 байта 0 to 65535

long 4 байта -2147483648 to 2147483647

unsigned long 4 байта 0 ot 4294967295

float 4 байта +- 1.18 E-38 to +-3.39 E+38

double 4 байта +- 1.18 E-38 to +-3.39 E+38

long double 4 байта +- 1.18 E-38 to +-3.39 E+38

---------------------------------------------------------------------

[1] Специфические для 8051 типы данных sfr и bit отличаются от стандартных типов данных языка Си, т.к. размещаются в особых областях памяти.

[2] Описание "char" эквивалентно "unsigned char", но может быть изменено на "signed char" с помощью опции компилятора -с.

[3] Перечисляемые переменные ("enum") размещаются с использованием наиболее короткого возможного типа данных, определяемого диапазоном перечисляемых констант - от "char" до "int".

Assembler (INTEL 8051)

Система микропрограммирования является набором компактных программных продуктов для разработки программ для микропроцессоров. СМ реализована для работы на ряде компьютеров, от небольших 16-разрядных персональных машин до 32-разрядных суперминикомпьютеров.

В нем имеется ряд примеров использования как стандартных", так и имеющих особенности средств СМ. Отметим, что независимые средства ассемблера СМ очень просты и эффективны.

СМ ассемблеры - это мощные МАКРО-ассемблеры со средствами перемещения

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

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

Все ассемблеры, так же как и ХLINK, используют для внутренних вычислений 32-разрядные структуры, что позволяет виртуально генерировать код любого размера (т.е. не существует предела в 64 кБайт, что могло бы затруднить использование процессоров типа 68000).

Для обеспечения совместимости внутри пакета было применено несколько компромиссных решений, с учетом совместимости с ассемблерами разработчиков микропроцессоров. Особенно это касается макро-конструкций, которые сильно различаются у различных разработчиков. Во многих отношениях, однако, СМ превосходит оригинальные ассемблеры. Следующая таблица дает грубое

представление о степени совместимости этого пакета:

Совместимы по:

- машинным командам (именам и синтаксису)

- директивам определения констант (именам и синтаксису)

- директивам распределения памяти (именам и синтаксису)

- разделителям

- меткам

- основным операторам (+,-,*,/)

- ORG и EQU

Не совместимы по:

- директивам перемещения

- расширениям операторов

- средствам условной трансляции

- опциям и командам управления ассемблером

- макросредствам.

Заметим, что средства, перечисленные в разделе "не совместимы", часто отличаются от оригинальных ассемблеров разработчиков только синтаксисом.

Наиболее популярными на сегодняшний день у программистов являются С-51 и Assembler 8051, так как оба они позволяют получать исходный код.

1.3Постановка задачи

Результатом данного проектирования должен явиться программный продукт контроллера, обеспечивающий данными вычислитель о скорости летательного аппарата. Система должна обеспечивать считывание с датчиков и обработку данных, используя следующий набор операций: считывание, обработка, формирование слов, выдача на ЦАП приборной скорости.

Входными данными служат:

- счтанные данные с маски приборной скорости;

- счтанные данные с маски максимальной скорости;

Выходными формами служат :

слово 206 в соответствии с РТМ;

слово 207 в соответствии с РТМ;

слово 271 в соответствии с РТМ;

данные с ЦАП приборной скорости.

Кроме того, система должна включать в себя следующие подсистемы:

контроль программоного обеспечения;

контроль о выходе из строя маски приборной скорости;

контроль о выходе из строя маски максимальной скорости;

контроль о превышении скорости более чем на 2 км/ч, сигнализируя о перегрузки;

частота обновления минимальная 31 мсек по каждому значению и максимальная 60 мсек по каждому значению.

Цена младшего разряда по 206 и 207 слову 0,11575

В качестве базового языка программирования использовать

язык С-51 совместно с Assembler 8051.

1.4Выводы

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

- анализ автоматизированных контроллеров, и микропроцессоров, на основе чего произведена их классификация;

- рассмотрена и проанализирована проблема выбора инструментальных средств для разработки контроллера, на основании чего выбраны языки С-51 и Assembler;

- на основании анализа требуемого к контроллера было сформулирована задача и требования к комплексу программ деятельности контроллера.

2Обобщенная структура и алгоритм функционирования контроллера

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

2.1Выбор инструментальных средств и элементной базы.

При выборе элементной базы прибора контроля учитывались следующие обстоятельства:

- построить разрабатываемую технику на современном уровне (по функциям, стоимости, энергопотреблению и габаритам) исключительно на отечественных элементах не представляется возможным;

- так как мощность, потребляемая МК, в значительной мере определяет возможности разработки экономичной аппаратуры, применения кабелей питания небольшого сечения и должна быть выбрана микро мощная элементная база. Часть схемы контроллера может быть выполнена на элементной базе с небольшим быстродействием, однако для другой части схемы должны быть применены микро мощные элементы с высоким быстродействием. Одним из, таким элементом является микроконтроллер Intel 87C51FB.

Применяемый в разработке микроконтроллер Intel 87C51FB обладает следующими основными характеристиками, которые необходимо знать для выполнения поставленной в дипломном проекте задаче.

Intel87C51FB относится к семейству n-МОП технологии и выпускается в корпусе БИС, имеющем 40 внешних выводов. Цоколевка корпуса и наименования выводов показаны на рис 3.1. Для работы Intel87C51FB требуется один источник электропитания +5 В. Через четыре программируемых порта ввода/вывода Intel87C51FB взаимодействует со средой в стандарте ТТЛ-схем с тремя состояниями выхода. Корпус Intel87C51FB имеет два вывода для подключения кварцевого резонатора, четыре вывода для сигналов, управляющих режимом работы МК, и восемь линий порта 3, которые могут быть запрограммированы пользователем на выполнение специализированных (альтернативных) функций обмена информацией со средой.

Рис 3.1.

Разработки на базе контроллеров Intel87C51FB поддерживается ассемблером, программным симулятором, внутрисхемным эмулятором фирмы Phyton и программатором.

Серия Intel87C51FB подходит для широкого спектра приложений от схем высокоскоростного управления автомобильными и электрическими двигателями до экономичных удаленных приемопередатчиков, показывающих приборов и связных процессоров. Наличие ПЗУ позволяет подстраивать параметры в прикладных программах (коды передатчика, скорости двигателя, частоты приемника и т.д.).

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

Приведем краткий обзор характеристик МК:

- 111 базовых команд;

- Большинство команд (94) имеют формат один или два байта и выполняются за один или два машинных цикла;

- рабочая частота 12 МГц

- -байтное АЛУ и схемы аппаратурной реализации команд умножения и деления;

- 14 - битовые команды;

- двунаправленная 8-битная шина;

- стираемое программируемое ПЗУ программ емкостью 64 Кбайт;

- ОЗУ данных емкостью 128 байта;

- два 16-битных таймера/счетчика;

- программируемые схемы ввода/вывода (32 линий);

- блок двухуровневого векторного прерывания от пяти источников;

- асинхронный канал дуплексного последовательного ввода/вывода информации со скоростью до 375 Кбит/с;

- генератор, схему синхронизации и управления;

- 8 х 4 регистров общего использования;

- 128 программно-управляемых флагов;

- прямая, косвенная и относительная адресация данных и команд;

- четыре источника прерывания:

2.1.1Структурная схема микропроцессора

Рассмотрим структурную схему микроконтроллера Intel87C51FB рисунок 3.2.

Рис 3.2.

Основу структурной схемы образует внутренняя двунаправленная 8-битная шина, которая связывает между собой все основные узлы и устройства: резидентную память, АЛУ, блок регистров специальных функций, устройство управления и порты ввода/вывода. Рассмотрим основные элементы структуры и особенности организации вычислительного процесса.

2.1.2Арифметическо-логическое устройство

8-битное АЛУ может выполнять арифметические операции сложения, вычитания, умножения и деления; логические операции И, ИЛИ, исключающее ИЛИ, а также операции циклического сдвига, сброса, инвертирования и т.п. В АЛУ имеются программно недоступные регистры T1 и T2, предназначенные для временного хранения операндов, схема десятичной коррекции и схема формирования признаков.

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

Простейшие операции автоматически образуют "тандемы" для выполнения в АЛУ таких операций, как, например, инкрементирование 16-битных регистровых пар. В АЛУ реализуется механизм каскадного выполнения простейших операций для реализации сложных команд. Так, например, при выполнении одной из команд условной передачи правления по результату сравнения в АЛУ трижды инкрементируется СК, дважды производится чтение из РПД, выполняется арифметическое сравнение двух переменных, формируется 16-битный адрес перехода и принимается решение о том, делать или не делать переход по программе. Все перечисленные операции выполняются в АЛУ всего лишь за 2 мкс.

Важной особенностью АЛУ является его способность оперировать не только байтами, но и битами. Отдельные программно-доступные биты могут быть установлены, сброшены, инвертированы, переданы, проверены и использованы в логических операциях. Эта способность АЛУ, оперировать битами, столь важна, что во многих описаниях Intel87C51FB говорится о наличии в нем "булевского процессора". Для управления объектами часто применяются алгоритмы, содержащие операции над входными и выходными булевскими переменными (истина/ложь), реализация которых средствами обычных микропроцессоров сопряжена с определенными трудностями.

Таким образом, АЛУ может оперировать четырьмя типами информационных объектов: булевскими (1 бит), цифровыми (4 бита), байтными (8 бит) и адресными (16 бит). В АЛУ выполняется 51 различная операция пересылки или преобразования этих данных. Так как используется 11 режимов адресации (7 для данных и 4 для адресов), то путем комбинирования "операция/ режим адресации" базовое число команд 111 расширяется до 255 из 256 возможных при однобайтном коде операции.

2.1.3Резидентная память

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

Память программ (ПЗУ или СППЗУ) имеет емкость 64 Кбайта и предназначена для хранения команд, констант, управляющих слов инициализации, таблиц перекодировки входных и выходных сменных и т.п. РПП имеет 16-битную шину адреса, через которую обеспечивается доступ из счетчика команд или из регистра-указателя данных. Последний выполняет функции базового регистра при косвенных переходах по программе или используется в командах, оперирующих с таблицами.

Память данных (ОЗУ) предназначена для хранения переменных в процессе выполнения прикладной программы, адресуется одним байтом и имеет емкость 128 байт. Кроме того, к адресному пространству РПД примыкают адреса регистров специальных функций (РСФ), которые перечислены в табл. 3.1.

Память программ, так же как и память данных, может быть расширена путем подключения внешних БИС.

Аккумулятор и ССП. Аккумулятор является источником операнда и местом фиксации результата при выполнении арифметических, логических операций и ряда операций передачи данных. Кроме того, только с использованием аккумулятора могут быть выполнены операции сдвигов, проверка на нуль, формирование флага паритета и т.п.

Таблица 3.1.

Символ

Наименование

Адрес

* ACC

Аккумулятор

0E0H

* B

Регистр-расширитель аккумулятора

0F0H

* PSW

Слово состояния программы

0D0H

SP

Регистр-указатель стека

81H

DPTR

Регистр-указатель данных (DPH)

(DPL)

83H

82H

* P0

Порт 0

80H

* P1

Порт 1

90H

* P2

Порт 2

0A0H

* P3

Порт 3

0B0H

* IP

Регистр приоритетов

0B8H

* IE

Регистр маски прерываний

0A8H

TMOD

Регистр режима таймера/счетчика

89H

* TCON

Регистр управления/статус таймера

88H

TH0

Таймер 0 (старший байт)

8CH

TL0

Таймер 0 (младший байт)

8AH

TH2

Таймер 1 (старший байт)

8DH

TL1

Таймер 1 (младший байт)

8BH

* SCON

Регистр управления приемопередатчиком

98H

SBUF

Буфер приемопередатчика

99H

PCON

Регистр управления мощностью

87H

Примечание. Регистры, имена которых отмечены знаком (*), допускают адресацию отдельных бит.

При выполнении многих команд в АЛУ формируется ряд признаков операции (флагов), которые фиксируются в регистре ССП. В табл. 3.2. приводится перечень флагов ССП, даются их символические имена и описываются условия их формирования.

 Таблица 3.2.

Символ

Позиция

Имя и назначение

C

PSW.7

Флаг переноса. Устанавливается и сбрасывается аппаратурными средствами или программой при
выполнении арифметических и логических операций

AC

PSW.6

Флаг вспомогательного переноса. Устанавливается и сбрасывается только аппаратурными средствами при выполнении команд сложения и вычитания и сигнализирует о переносе или заем в бите 3

F0

PSW.5

Флаг 0. Может быть установлен, сброшен или проверен программой как флаг, специфицируемый пользователем

RS1

RS0

PSW.4

PSW.3

Выбор банка регистров. Устанавливается и сбрасывается программой для выбора рабочего банка регистров (см. примечание)

OV

PSW.2

Флаг переполнения. Устанавливается и сбрасывается аппаратно при выполнении арифметических операций

_

PSW.1

Не используется

P

PSW.0

Флаг паритета. Устанавливается и сбрасывается аппаратуры в каждом цикле команды и фиксирует нечетное/четное число единичных бит в аккумуляторе, т.е. выполняет контроль по четности

Примечание.

RS1

RS0

Банк

Границы адресов

0

0

0

00H-07H

0

1

1

08H-0FH

1

0

2

10H-17H

1

1

3

18H-1FH

Наиболее "активным" флагом ССП является флаг переноса, которые принимает участие и модифицируется в процессе выполнения множеств операций, включая сложение, вычитание и сдвиги. Кроме того, флаг переноса (C) выполняет функции "булевого аккумулятора" в командах, манипулирующих с битами. Флаг переполнения (OV) фиксирует арифметическое переполнение при операциях над целыми числами со знаком и делает возможным использование арифметики в дополнительных кодах. АЛУ не управляет флагами селекции банка регистров (RS0, RS1), и их значение полностью определяется прикладной программой и используется для выбора одного из четырех регистровых банков.

Широкое распространение получило представление о том, что в микропроцессорах, архитектура которых опирается на аккумулятор, большинство команд работают с ним, используя адресацию "по умолчанию" (неявную). В Intel87C51FB дело обстоит иначе. Хотя процессор имеет в своей основе аккумулятор, однако, он может выполнять множество команд и без участия аккумулятора. Например, данные могут быть переданы из любой ячейки РПД в любой регистр, любой регистр может быть загружен непосредственным операндом и т.д. Многие логические операции могут быть выполнены без участия аккумулятора. Кроме того, переменные могут быть инкрементированы, декрементированы и проверены (test) без использования аккумулятора. Флаги и управляющие биты могут быть проверены и изменены аналогично.

2.1.4Регистры-указатели.

8-битный указатель стека (РУС) может адресовать любую область РПД. Его содержимое инкрементируется прежде, чем данные будут запомнены в стеке в ходе выполнения команд PUSH и CALL. Содержимое РУС декрементируется после выполнения команд POP и RET. Подобный способ адресации элементов стека называют прединкрементным/постдекрементным. В процессе инициализации Intel87C51FB после сигнала СБР в РУС автоматически загружается код 07H. Это значит, что если прикладная программа не переопределяет стек, то первый элемент данных в стеке будет располагаться в ячейке РПД с адресом 08Н.

Двухбайтный регистр-указатель данных (РУД) обычно используется для фиксации 16-битного адреса в операциях с обращением к внешней памяти. Командами МК51 регистр-указатель данных может быть использован или как 16-битный регистр, или как два независимых 8-битных регистра (DPH и DPL).

2.1.5Таймер/счетчик.

В составе средств Intel87C51FB имеются регистровые пары с символическими именами ТНО, TLO и THI, TLI, на основе которых функционируют два независимых программно-управляемых 16-битных таймера/счетчика событий.

Буфер последовательного порта. Регистр с символическим именем SBUF представляет собой два независимых регистра - буфер приемника и буфер передатчика. Загрузка байта в SBUF немедленно вызывает начало процесса передачи через последовательный порт. Когда байт считывается из SBUF, это значит, что его источником является приемник последовательного порта.

Регистры специальных функций. Регистры с символическими именами IP, IE, TMOD, TCON, SCON и PCON используются для фиксации и программного изменения управляющих бит и бит состояния схемы прерывания, таймера/счетчика, приемопередатчика последовательного порта и для управления мощностью электропитания Intel87C51FB.

Все четыре порта предназначены для ввода или вывода информации побайтно. Каждый порт содержит управляемые регистр-защелку, входной буфер и выходной драйвер. Все выводы порта 3 могут быть использованы для реализации альтернативных функций, перечисленных в табл. 3.3.. Альтернативные функции могут быть задействованы путем записи 1 в соответствующие биты регистра-защелки (Р3.0-Р3.7) порта 3.

Таблица 3.3.

Символ

Позиция

Имя и назначение

¬RD

P3.7

Чтение. Активный сигнал низкого уровня формируется аппаратурно при обращении к ВПД

¬WR

P3.6

Запись. Активный сигнал низкого уровня формируется аппаратурно при обращении к ВПД

T1

P3.5

Вход таймера/счетчика 1 или тест-вход

T0

P3.4

Вход таймера/счетчика 0 или тест-вход

¬INT1

P3.3

Вход запроса прерывания 1. Воспринимается сигнал низкого уровня или срез

¬INT0

P3.2

Вход запроса прерывания 0. Воспринимается сигнал низкого уровня или срез

TXD

P3.1

Выход передатчика последовательного порта в режиме УАПП. Выход синхронизации в режиме сдвигающего регистра

RXD

P3.0

Вход приемника последовательного порта в режиме УАПП. Ввод/вывод данных в режиме сдвигающего регистра

 

Порт 0 является двунаправленным, а порты 1, 2 и З - квазидвунаправленными. Каждая линия портов может быть использована независимо для ввода или вывода информации. Для того чтобы некоторая линия порта использовалась для ввода, в D-триггер регистра-защелки порта должна быть записана 1, которая закрывает МОП-транзистор выходной цепи.

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

Все порты могут быть использованы для организации ввода/вывода информации по двунаправленным линиям передачи. Однако порты 0 и 2 не могут быть использованы для этой цели в случае, если МК-система имеет внешнюю память, связь с которой организуется через общую разделяемую шину адреса/данных, работающую в режиме временного мультиплексирования.

2.1.6Запись в порт.

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

Нагрузочная способность портов. Выходные линии портов 1, 2 и 3 могут работать на одну ТТЛ-схему. Линии порта 0 могут быть нагружены на два входа ТТЛ-схем каждая. Линии порта 0 могут работать и на n-МОП-схемы, однако при этом их необходимо подключать на источник электропитания через внешние нагрузочные резисторы за исключением случая, когда шина порта 0 используется в качестве шины адреса/данных внешней памяти.

Входные сигналы для МК51 могут формироваться ТТЛ-схемами или n-МОП-схемами. Допустимо использование в качестве источников сигналов для Intel87C51FB схем с открытым коллектором или открытым стоком. Однако при этом время изменения входного сигнала при переходе из 0 в 1 окажется сильно затянутым.

2.1.7Особенности работы портов.

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

2.1.8Обзор типов команд

Большинство команд (94) имеют формат один или два байта и выполняются за один или два машинных цикла. При тактовой частоте 2 МГц длительность машинного цикла составляет 1 мкс. Обычно первый байт команды любых типа и формата всегда содержит код операции (КОП). Второй и третий байты содержат либо адреса операндов, либо непосредственные операнды.

2.1.8.1Типы операндов.

Состав операндов Intel87C51FB включает в себя операнды четырех типов: биты, 4-битные цифры, байты и 16-битные слова. Пример рис 3.3.

Рис 3.3.

Intel87C51FB имеет 128 программно-управляемых флагов пользователя. Имеется также возможность адресации отдельных бит блока регистров специальных функций и портов. Для адресации бит используется прямой 8-битный адрес (bit). Косвенная адресация бит невозможна. Карты адресов отдельных бит представлены на рис и рис . Четырехбитные операнды используются только при операциях обмена (команды SWAP и XCHD). Восьмибитным операндом может быть ячейка памяти программ или данных (резидентной или внешней), константа (непосредственный операнд), регистры специальных функций (РСФ), а также порты ввода/вывода. Порты и РСФ адресуются только прямым способом. Байты памяти могут адресоваться также и косвенным образом через адресные регистры (R0, R1, DPTR и PC). Двухбайтные операнды - это константы и прямые адреса, для представления которых используются второй и третий байты команды.

2.1.8.2Способы адресации данных.

В Intel87C51FB используются такие способы адресации данных: прямая, непосредственная, косвенная и неявная. Следует отметить, что при косвенном способе адресации РПД используются все восемь бит адресных регистров R0 и R1.

2.1.8.3Флаги результата.

Слово состояния программы (PSW) включает в себя четыре флага: C - перенос, AC - вспомогательный перенос, O - переполнение и P - паритет.

Флаг паритета напрямую зависит от текущего значения аккумулятора. Если число единичных бит аккумулятора нечетное, то флаг P устанавливается, а если четное - сбрасывается попытки изменить флаг Р, присваивая ему новое значение, будут безуспешными, если содержимое аккумулятора при этом останется неизменным.

Флаг АС устанавливается в случае, если при выполнении операции сложения/вычитания между тетрадами байта возник перенос/заем.

Флаг C устанавливается, если в старшем бите результата возникает перенос или заем. При выполнении операций умножения и деления флаг C сбрасывается. Флаг OV устанавливается, если результат операции сложения/вычитания не укладывается в семи битах и старший (восьмой) бит результата не может интерпретироваться как знаковый. При выполнении операции деления флаг OV сбрасывается, а в случае деления на нуль устанавливается. При умножении флаг OV устанавливается, если результат больше 255.

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

Таблица 3.5.

Команды

Флаги

 

Команды

Флаги

ADD

C, OV, AC

CLR C

C = 0

ADDC

C, OV, AC

CPL C

C = ¬C

SUBB

C, OV, AC

ANL C, b

C

MUL

C = 0, OV

ANL C, /b

C

DIV

C = 0, OV

ORL C, b

C

DA

C

ORL C, /b

C

RRC

C

MOV C, b

C

RLC

C

CJNE

C

SETB C

C = 1

 

 

 

2.1.8.4Символическая адресация.

При использовании ассемблера ASM51 для получения объектных кодов программ допускается применение в программах символических имен регистров специальных функций (РСФ), портов и их отдельных бит рис. 3.4., рис 3.5.

Для адресации отдельных бит РСФ и портов (такая возможность имеется не у всех РСФ) можно использовать символическое имя бита следующей структуры:

< имя РСФ или порта > . <номер бита>

Например, символическое имя пятого бита аккумулятора будет следующим: АСС.5. Символические имена РСФ, портов и их бит являются зарезервированными словами для Intel87C51FB, и их не надо определять с помощью директив ассемблера.

Рис 3.4.

Рис 3.5.

2.1.9Выбор Инструментальных средств

При выборе инструментальных средств разработки было необходимо обеспечить удобство и быстроту создания и отладки программного обеспечения микроконтроллера. Программа отлаживалась в интегрированной среде PICE-51, которую можно охарактеризовать следующим образом. PICE под Windows основная интегрирующая среда разработки для технологии микрокристалла включающей INTEL87C51FB семейств микроконтроллера. PICE позволяет пользователю писать, отлаживать, и оптимизировать многие процессоры для разработки микропрограмм. PICE включает текстовый редактор, имитатор, и руководитель проекта. PICE также имеет внутрисхемный эмулятор, программирующие устройства, и другие системы разработки инструментальных средств микрокристалла. Инструментальные средства PICE реализуют для пользователя следующие функции:

Отладка его исходной программы;

Эмуляция процессоров:

Intel: 80C31/32, 8XC51/52/54/58, 8XL/C51FA/FB/FC, 8XC51RA/RB/RC;

Philips: 80C31/32, 8XC51/52/54/58, 8XC51FA/FB/FC; 8XC51RA+/RB+/RC+/RD+, 8XC524, 8XC528, 8XC550, 8XC652, 8XC654, 8XC575, 8XC576, 8XC851, 89C535,89C536, 89C538;

Atmel: 89C51, 89C52, 89C55, 89C4051, 89C2051, 89C1051;

Siemens: SAB501;

MHS: 80C31, 8XC51, 80C32, 8XC52, 8XC154;

Oki: 80C31, 8XC51, 8XC154;

AMD: 80C31, 8XC51, 8XC52;

Автоматически располагает ошибки в исходных файлах для редактирования;

Отладка с контрольными точками, базировавшимися на внутренних величинах регистра;

· Часы ход программы с имитатором или часами в реальном времени с внутрисхемным эмулятором POD51-RX.

· Делать синхронизацию размеров со стоповыми часами;

· Видеть переменные в специальных окнах;

· Находить быстрые ответы на вопросы с PICE онлайновой подсказки;

Встроенная разработка среды Project-51 позволяет пользователю быстро перемещаться между другими способами разработки/отладки.

Встроенная разработка среды Project-51 включает инструментальные средства следующей разработки:

Руководитель проекта позволяет пользователю создавать проект, и работать со специфическими файлами связанными с проектом. Project-51 руководитель проекта также позволяет пользователю формировать приложение и загружать программный код в эмулятор или имитатор с нажатием мыши.

Project-51 это:

редактор позволяет программисту писать и редактировать исходные файлы микропрограмм или другие текстовые файлы для INTEL87C51FB микроконтроллеров;

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

программный имитатор имитирует выполнение инструкции и I/O микроконтроллеров.

Внутрисхемный эмулятор POD51-RX использует аппаратные средства, чтобы эмулировать INTEL87C51FB микроконтроллеров в реальном времени. Аппаратные средства POD51-RX эмулятора продаются отдельно.

После установки и компиляции проектов в Project-51, программист захочет увидеть как сделаны его кодовые прогоны. Если у вас есть программатор устройства, вы можете запрограммировать устройство микроконтроллера и подключите программируемое устройство в вашем фактическом приложении, чтобы проверить, что приложение работает как ожидается. Обычно, приложение не будет выполняться правильно сначала, и программист должен отладить код. Отладчик может использовать Project-51, чтобы с имитировать программный код или может использовать эмулятор POD51-RX, чтобы выполнять созданные микропрограммы в фактическом приложении пока программист производит отлаживание созданной программы. Во время отладки, пользователь может использовать прерывание и точки останова, когда выполняется код его программы. Можно наблюдать величины регистра в окне регистра или в специальном функциональном окне регистра, чтобы увидеть состояние процессора и следовательно выполняемый код и пошаговый режим.

Внутрисхемный эмулятор POD51-RX выполняет код в фактической скорости выполнения (реальное время) в разрабатываемых целевых аппаратных средствах, останавливаясь только в определенных контрольных точках. Project-51 имитирует выполнение любого процессора и имитирует условия I/O в скоростях, которые зависят от скорости вашего PC.

Все эти функции используют информацию из Project-51 проекта. Строка помечается в исходной программе, символических позициях в памяти, и функциональные имена из кода могут использоваться, чтобы установить прерывание и точки останова и изучать и модифицировать регистры.

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

2.2Разработка структуры программного обеспечения подсистемы.

В процессе дипломного проектирования необходимо разработать подсистему контроля вскрытия персонального компьютера обеспечивающую постоянный контроль поставленных на охрану объектов и выдачу информации о их состоянии на АРМ СБ.

Программа контроллера УСВИЦ-250 должна выполнять следующие основные функции:

Осуществлять считывание с масок кодов скоростей;

Осуществлять перевод этих кодов в двоичный код;

Осуществлять формирование 32х-разрядного слова по ARING-427;

Осуществлять вывод в магистраль выходного слова;

Осуществлять вывод аналогового сигнала о приборной скорости.

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

1. Подпрограмма, взаимодействующая масок с МК должна выполнять следующие возложенные на нее функции:

- принимать коды грея;

2. Подрограмма, осуществляющая перевод кодов по формуле:

Код_Двоичный4=Код_Грея4;

Код_Двоичный3=Код_Грея3  Код_Двоичный4;

Код_Двоичный2=Код_Грея2  Код_Двоичный3;

Код_Двоичный1=Код_Грея1  Код_Двоичный2;

Код_Двоичный0=Код_Грея0  Код_Двоичный1;

3. Подрограмма, формирование 32х-разрядного слова по ARING-427 должна выполнять следующие функции:

- привести значение скорости к цене младшего разряда;

занести по адресам 8-9 в слове индификатор от УСВИЦ-250;

занести по адресам 30-29 в слове о достоверности слова;

подсчитать четность слова и занести по адресу 31 в слове.

Занести по адресам 0-8 в слове адрес слова;

4. Подпрограмма, осуществляющая выдачу слова в магистраль с частотой 12.5КГц, должна выполнять следующие возложенные на нее функции:

- обеспечивать частоту вывода 12.5КГц;

обеспечивать выдачу последовательно 206, 207 и 271 слова;

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

записи в регистр ЦАП приборной скорости;

сделать паузу для записи в регистр;

установить флаг в ЦАП о записи в регистр.

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

Для отладки созданного программного кода, внутрисхемный эмулятор устанавливался на опытный образец печатной платы с напаянными на ней всеми необходимыми для корректной работы микросхемами и навесными элементами (резисторы, конденсаторы). Все микросхемы, установленные на плате, в совокупности с микроконтроллером и его программным обеспечением, составляют разрабатываемый контроллер. Подобная отладка, с применением осциллографа, контрольного пульта ПК-10, дает вполне ясную картину программно генерируемых сигналов с микроконтроллера. Осциллограф позволяет в удобной форме проследить периодичность генерации сигналов и длительность процессов, которые они вызывают в схеме, а ПК-10 достоверность выходного слова. Также довольно легко наблюдать принимаемые микроконтроллером на обработку сигналы, поступающие с других микросхем. Применение осциллографа и ПК-10, при отладке программы на реальной аппаратуре, необходимо, и безусловно, значительно облегчает отладку и доработку исходного текста программы.

2.3Описание структуры полей программы

2.3.1Переменные для временных обработак и константы с их адресами

const int speed=172 - служит для добавления при наземном контролле контроллера;

const int test_speed=2 - служит для добавления при проверки масок приборной и максимальной скорости;

static int a @ 0x18 - временная преременная;

static int flag @ 0x18 - временная преременная;

static int flag1 @ 0x1a - временная преременная;

2.3.2Переменные для выходного слова адрес 206 по РТМ с их адресами

static unsigned long SlVmd @ 0x10;

static unsigned char SlVmd_1 @ 0x10;

static unsigned char SlVmd_2 @ 0x11;

static unsigned char SlVmd_3 @ 0x12;

static unsigned char SlVmd_4 @ 0x13;

2.3.3Переменные для выходного слова адрес 207 по РТМ с их адресами

static unsigned long SlVpr @ 0x3c;

static unsigned char SlVpr_1 @ 0x3c;

static unsigned char SlVpr_2 @ 0x3d;

static unsigned char SlVpr_3 @ 0x3e;

static unsigned char SlVpr_4 @ 0x3f;

2.3.4Переменные для выходного слова адрес 271 по РТМ с их адресами

static unsigned long SlDs @ 0x38;

static unsigned char SlDs_1 @ 0x38;

static unsigned char SlDs_2 @ 0x39;

static unsigned char SlDs_3 @ 0x3a;

static unsigned char SlDs_4 @ 0x3b;

2.3.5Переменная для выдачи на ЦАП с его адресом

static unsigned int CapSlowo @ 0x14;

2.3.6Переменные для рабочих областей стеков с их адресами

static unsigned long Stec @ 0x28;

static unsigned int Stec1 @ 0x28;

static unsigned int Stec2 @ 0x2a;

2.3.7Переменные для сохранение переведенных скоростей с их адресами

static unsigned int StecVprd @ 0x30;

static unsigned int StecVmdd @ 0x32;

2.3.8Переменные вводимых скорости с приборной скорости маски с их адресами

static unsigned int Vprg @ 0x20;

static unsigned int Vmdg @ 0x24;

2.3.9Переменные вводимых скорости с максимальной скорости маски с их адресами

static unsigned int Vprd @ 0x22;

static unsigned int Vmdd @ 0x26;

2.3.10Переменные рабочее слово SlRab расписаны в битовой резидентной памяти по битам и словам с их адресами

static unsigned long SlRab @ 0x2c;

static unsigned char SlRab_4 @ 0x2c;

static unsigned char SlRab_3 @ 0x2d;

static unsigned char SlRab_2 @ 0x2e;

static unsigned char SlRab_1 @ 0x2f;

static unsigned char Adress @ 0x2f - по этому адресу находится адрес выходного слова;

static bit unsigned char SlRab_bit31 @ 0x67;

static bit unsigned char SlRab_bit30 @ 0x66;

static bit unsigned char SlRab_bit29 @ 0x65;

static bit unsigned char SlRab_bit28 @ 0x64;

static bit unsigned char SlRab_bit27 @ 0x63;

static bit unsigned char SlRab_bit26 @ 0x62;

static bit unsigned char SlRab_bit25 @ 0x61;

static bit unsigned char SlRab_bit24 @ 0x60;

static bit unsigned char SlRab_bit23 @ 0x6f;

static bit unsigned char SlRab_bit22 @ 0x6e;

static bit unsigned char SlRab_bit21 @ 0x6d;

static bit unsigned char SlRab_bit20 @ 0x6c;

static bit unsigned char SlRab_bit19 @ 0x6b;

static bit unsigned char SlRab_bit18 @ 0x6a;

static bit unsigned char SlRab_bit17 @ 0x69;

static bit unsigned char SlRab_bit16 @ 0x68;

static bit unsigned char SlRab_bit15 @ 0x77;

static bit unsigned char SlRab_bit14 @ 0x76;

static bit unsigned char SlRab_bit13 @ 0x75;

static bit unsigned char SlRab_bit12 @ 0x74;

static bit unsigned char SlRab_bit11 @ 0x73;

static bit unsigned char SlRab_bit10 @ 0x72;

static bit unsigned char SlRab_bit9 @ 0x71;

static bit unsigned char SlRab_bit8 @ 0x70;

static bit unsigned char SlRab_bit7 @ 0x7f;

static bit unsigned char SlRab_bit6 @ 0x7e;

static bit unsigned char SlRab_bit5 @ 0x7d;

static bit unsigned char SlRab_bit4 @ 0x7c;

static bit unsigned char SlRab_bit3 @ 0x7b;

static bit unsigned char SlRab_bit2 @ 0x7a;

static bit unsigned char SlRab_bit1 @ 0x79;

static bit unsigned char SlRab_bit0 @ 0x78;

2.3.11Переменные приборной скорости в коде Грея расписаны в битовой резидентной памяти по битам с их адресами

static bit unsigned char Vprg_bit9 @ 0x01;

static bit unsigned char Vprg_bit8 @ 0x00;

static bit unsigned char Vprg_bit7 @ 0x0f;

static bit unsigned char Vprg_bit6 @ 0x0e;

static bit unsigned char Vprg_bit5 @ 0x0d;

static bit unsigned char Vprg_bit4 @ 0x0c;

static bit unsigned char Vprg_bit3 @ 0x0b;

static bit unsigned char Vprg_bit2 @ 0x0a;

static bit unsigned char Vprg_bit1 @ 0x09;

static bit unsigned char Vprg_bit0 @ 0x08;

2.3.12Переменные приборной скорости в двоичном коде расписаны в битовой резидентной памяти по битам с их адресами

static bit unsigned char Vprd_bit9 @ 0x11;

static bit unsigned char Vprd_bit8 @ 0x10;

static bit unsigned char Vprd_bit7 @ 0x1f;

static bit unsigned char Vprd_bit6 @ 0x1e;

static bit unsigned char Vprd_bit5 @ 0x1d;

static bit unsigned char Vprd_bit4 @ 0x1c;

static bit unsigned char Vprd_bit3 @ 0x1b;

static bit unsigned char Vprd_bit2 @ 0x1a;

static bit unsigned char Vprd_bit1 @ 0x19;

static bit unsigned char Vprd_bit0 @ 0x18;

2.3.13Переменные максимальной скорости в коде Грея расписаны в битовой резидентной памяти по битам с их адресами

static bit unsigned char Vmdg_bit9 @ 0x21;

static bit unsigned char Vmdg_bit8 @ 0x20;

static bit unsigned char Vmdg_bit7 @ 0x2f;

static bit unsigned char Vmdg_bit6 @ 0x2e;

static bit unsigned char Vmdg_bit5 @ 0x2d;

static bit unsigned char Vmdg_bit4 @ 0x2c;

static bit unsigned char Vmdg_bit3 @ 0x2b;

static bit unsigned char Vmdg_bit2 @ 0x2a;

static bit unsigned char Vmdg_bit1 @ 0x29;

static bit unsigned char Vmdg_bit0 @ 0x28;

2.3.14Переменные максимальной скорости в двоичном коде расписаны в битовой резидентной памяти по битам с их адресами

static bit unsigned char Vmdd_bit9 @ 0x31;

static bit unsigned char Vmdd_bit8 @ 0x30;

static bit unsigned char Vmdd_bit7 @ 0x3f;

static bit unsigned char Vmdd_bit6 @ 0x3e;

static bit unsigned char Vmdd_bit5 @ 0x3d;

static bit unsigned char Vmdd_bit4 @ 0x3c;

static bit unsigned char Vmdd_bit3 @ 0x3b;

static bit unsigned char Vmdd_bit2 @ 0x3a;

static bit unsigned char Vmdd_bit1 @ 0x39;

static bit unsigned char Vmdd_bit0 @ 0x38;

2.3.15Формат слова 206 и 207.

Форматы 206, 207 слова состоят из 32 разрядов который показан в таблице 2.2 .

Таблица 2.2

31

30

29

28

27-11

10

9

8

7-0

CRC

состояние

Знак

данные

Точность

Идентификатор

адрес

2.3.16Матрица состояния информации параметров.

Разряды в слове

Наименование функции

31

30

0

0

Предупреждение об отказе

0

1

Нет вычисленных данных

1

0

Функциональный тест

1

1

Нормальная работа

2.4Алгоритм функционирования контроллера

Контроллер включает в себя следующие функции :

- Сброс сторожевого таймера;

- Очстка всех областей переменных;

- Подготовка вывода слова 206 с признаком "нет вычисленных данных";

- Подготовка вывода слова 207 с признаком "нет вычисленных данных";

- Заполнение сохраненного значения приборной скорости;

- Заполнение сохраненного значения максимальной скорости;

- Цикл проверки на отказ маски приборной скорости;

- Цикл проверки на отказ маски максимальной скорости;

- Проверка на наличие разовой команды тест контроля;

- Маштабирование приборной скорости для выдачи в ЦАП;

- Тестирование ПО;

- Формирование слова адрес 271 в соответствии с признаками об тестирования ПО;

- Формирование выходного слова адрес 206 в соответствии с РТМ, изм,3;

- Формирование выходного слова адрес 207 в соответствии с РТМ, изм,3;

- Сброс сторожевого таймера.

2.5Выводы

В настоящем разделе выпускной работы были проведены

следующие работы:

- был проведен анализ структуры программы контроллера;

- был рассмотрен алгоритм функционирования контроллера.

3Реализация

3.1Описание функций основных модулей системы.

Основной файл системы является проэктный файл - SPEED.PRJ, в которой: указывается путь к файлам системы, установка адресов ПЗУ, ОЗУ, стека, векторов прерывания и параметров контроллера, список компилируемых файлов.

3.1.1Основная программа

void main(void)

{

/*---------- Запуск таймера на вывод --------------------------------------*/

set_vector(TIMER0,Timer);

Zapusk();

/*-------- Сброс сторожевого таймера --------------------------------------*/

TXD=0;

TXD=1;

/*----------------- Обнуление данных --------------------------------------*/

Clear();

/*------------------------ Вывод на ЦАП -----------------------------------*/

Machtab(StecVprd);

VivodCapSl();

/*--------- Подготовка вывода 206 слова -----------------------------------*/

SlRab=0;

Adress=0x61;

Priznak_Usvic();/* признак от УСВИЦ-250 */

Priznak_Work(0,1);/* признак нет вычисленных данных */

CalcChetSl();/* Подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlVmd_1=SlRab_1;

SlVmd_2=SlRab_2;

SlVmd_3=SlRab_3;

SlVmd_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*--------- Подготовка вывода 207 слова -----------------------------------*/

SlRab=0;

Adress=0xe1;

Priznak_Usvic();/* признак от УСВИЦ-250 */

Priznak_Work(0,1);/* признак нет вычисленных данных */

CalcChetSl();/* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlVpr_1=SlRab_1;

SlVpr_2=SlRab_2;

SlVpr_3=SlRab_3;

SlVpr_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*--------- Заполнение начальными данными Vpr и Vmd -----------------------*/

a=3;

do {

/* vvodvmd(); */

ImVxodMd(); /* имитация входа Vmd */

Perevod_Md(); /* перевод из грея в двоичную */

StecVmdd=Vmdd; /* Сохранение Vmd.*/

/* vvodvpr();*/

ImVxodPr(); /* имитация входа Vpr */

Perevod_Pr(); /* перевод из грея в двоичную */

StecVprd=Vprd; /*Сохранение Vpr */

a--; }

while (a>0);

Nach: {

/*-------- Сброс сторожевого таймера --------------------------------------*/

TXD=0;

TXD=1;

/*-------------------- Обновление данных Vpr и Vmd -----------------------*/

/* vvodvmd();*/

ImVxodMd(); /* имитация входа Vmd */

Perevod_Md(); /* перевод из грея в двоичную */

StecVmdd=Vmdd; /*Сохранение Vм.д.*/

/* vvodvpr();*/

ImVxodPr(); /* имитация входа Vpr */

Perevod_Pr(); /* перевод из грея в двоичную */

StecVprd=Vprd; /*Сохранение Vпр.д.*/

/*----------------- Цикл проверки на отказ Vmd ----------------------------*/

Cikl_Otkaz_Vmd();

/*----------------- Цикл проверки на отказ Vpr ----------------------------*/

Cikl_Otkaz_Vpr();

/*----------------- Тест на наличие РК "ТК" -------------------------------*/

{

if(INT0==1) Test_Kontrol();

}

while(INT0==1)

/*----------------- Тест на наличие Vmd >= Vpr ----------------------------*/

if(Vprd>=Vmdd) { RXD=0; PK_Vpr=1; }

else { RXD=1; PK_Vpr=0; }

/*----------------- Маштабирование Vprd -----------------------------------*/

Machtab(StecVprd);

VivodCapSl();

/*------------- копируем в поле 271 функциональный тест ------------------*/

SlRab=0;

Priznak_Work(1,0);/* признак функциональный тест */

CalcChetSl(); /* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlDs_1=SlRab_1;

SlDs_2=SlRab_2;

SlDs_3=SlRab_3;

SlDs_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*------------- копируем в поле 206 функциональный тест ------------------*/

SlRab=0;

Priznak_Work(1,0);/* признак функциональный тест */

CalcChetSl(); /* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlVpr_1=SlRab_1;

SlVpr_2=SlRab_2;

SlVpr_3=SlRab_3;

SlVpr_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*------------- копируем в поле 207 функциональный тест ------------------*/

SlRab=0;

Priznak_Work(1,0);/* признак функциональный тест */

CalcChetSl(); /* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlVmd_1=SlRab_1;

SlVmd_2=SlRab_2;

SlVmd_3=SlRab_3;

SlVmd_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*----------------- Тест Контроль программы -------------------------------*/

TestControlPO();

/*-------- Формирование дискретного 271 слова ----------------------------*/

SlRab=0;

Adress=0x9d;/* адрес слова 271 */

Priznak_Test();/* растановка признаков тестирования в слове */

Priznak_Usvic();/* признак от УСВИЦ-250 */

CalcChetSl();/* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlDs_1=SlRab_1;

SlDs_2=SlRab_2;

SlDs_3=SlRab_3;

SlDs_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*------ Формирование 206 слова в соответствии с РТМ, изм,3 для Vpr ------*/

SlRab=0;

FormPTM(StecVprd);

Adress=0x61;/* адрес слова 206 */

Priznak_Usvic();/* признак от УСВИЦ-250 */

Priznak_Work(1,1);/* признак нормальной работы */

If_Speed(Vprd);/* проверка на < 50км */

if ((Vpr_Ok==1)||(PO_Ok==1)) Priznak_Work(0,0);/* отказ */

CalcChetSl();/* подсчет четности */

/*------------- Копирование параметров в область вывода -------------------*/

asm(" clr TCON.4 ");/* остановка таймера */

SlVpr_1=SlRab_1;

SlVpr_2=SlRab_2;

SlVpr_3=SlRab_3;

SlVpr_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*----- Формирование 207 слова в соответствии с РТМ, изм,3 для Vmd -------*/

SlRab=0;

FormPTM(StecVmdd);

Adress=0xe1;/* адрес слова 207 */

Priznak_Usvic();/* признак от УСВИЦ-250 */

Priznak_Work(1,1);/* признак нормальной работы */

If_Speed(Vmdd); /* проверка на < 50км */

if ((Vmd_Ok==1)||(PO_Ok==1)) Priznak_Work(0,0);/* отказ */

CalcChetSl();/* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlVmd_1=SlRab_1;

SlVmd_2=SlRab_2;

SlVmd_3=SlRab_3;

SlVmd_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

SlRab=0;

/*-------------------- G O T O -> N A C H ---------------------------*/

}

goto Nach;

}

3.1.2Процедура установки приоритетов прерываний.

void Zapusk(void){

/*------------- Запуск таймера --------------------------*/

asm(" mov TCON,#1 ");

asm(" anl IP,#0 ");

asm(" orl IP,#2 ");

asm(" mov TMOD,#01 ");

asm(" mov a,#0eah "); /* число для загрузки таймера */

asm(" mov TH0,a "); /* 65536-20*36-685+67, где старшая часть */

asm(" mov a,#0d3h "); /* равна eah, а младшая - d3h */

asm(" mov TL0,a ");

asm(" setb TCON.4 ");

asm(" anl IE,#0 ");

asm(" orl IE,#82h ");

}

Назначение: запуск таймера с установки приоритетов прерываний.

Вход: нет.

Выход: установленный счетчик таймера.

3.1.3 Процедура обнуления переменных.

void Clear(void){

StecVmdd=StecVprd=0;

Vprd=Vmdd=Vprg=Vmdg=0;

SlRab=SlVmd=SlVpr=SlDs=CapSlowo=0;

SlRab=0;

}

Назначение: обнуление областей переменных в начале работы программы от мусора при включения питания.

Вход: нет.

Выход: нет.

3.1.4Процедура считывания с кодов грея с максимальной допустимой маски.

_vvodvmd:

push 0e0h

push 1

push 2

push 3

clr tcon.4

orl p0,#1 ;запрещение работы D1

anl p0,#1 ;запрещение работы D1

orl p1,#14h ;запрещение D2 и разрешение D4

anl p1,#14h ;запрещение D2 и разрешение D4

;считываем для Vmd

call Read_P_1_5

mov bitvmd0,c

inc p1

inc p1

call Read_P_1_5

mov bitvmd1,c

inc p1

inc p1

call Read_P_1_5

mov bitvmd2,c

inc p1

inc p1

call Read_P_1_5

mov bitvmd3,c

и т.д.

Назначение: считывание кодов с максимальной маски

Вход: нет.

Выход: заполнены биты максимальной маски.

3.1.5Процедура считывания с кодов грея с приборной маски.

_vvodvpr:

push 0e0h

push 1

push 2

push 3

clr tcon.4

orl p0,#1 ;запрещение работы D1

anl p0,#1 ;запрещение работы D1

orl p1,#1 ;запрещение D4 и разрешение D2

anl p1,#1 ;запрещение D4 и разрешение D2

;считываем для Vpr

call Read_P_1_5

mov bitvpr0,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr1,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr2,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr3,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr4,c

и т.д.

Назначение: считывание кодов с приборной маски

Вход: нет.

Выход: заполнены биты приборной маски.

3.1.6Процедура вывода в магистраль 32х-разрядного слова с частотой 12.5 КГц.

Vivod206:

PUSH 0D0H

PUSH 0E0H

PUSH 0

PUSH 1

PUSH 2

PUSH 3

CLR PSW.3

CLR PSW.4

ORL P0,#0C0H

MOV R3,#4

MOV R0,#Sl206

Bait206:

MOV A,@R0

MOV R2,#7

Bit206:

RRC A

ORL P0,#0ffh

MOV Bit6V,C

MOV Bit7V,C

CPL Bit7V

MOV R1,#15

Pauza206_0: DJNZ R1,Pauza206_0

NOP

NOP

MOV P0,BaitV

MOV R1,#18

Pauza206_1: DJNZ R1,Pauza206_1

DJNZ R2,Bit206

RRC A

ORL P0,#0ffh

MOV Bit6V,C

MOV Bit7V,C

CPL Bit7V

MOV R1,#16

Pauza206_2: DJNZ R1,Pauza206_2

MOV P0,BaitV

MOV R1,#15

Pauza206_3: DJNZ R1,Pauza206_3

INC R0

DJNZ R3,Bait206

NOP

NOP

NOP

ORL P0,#0C0H

POP 3

POP 2

POP 1

POP 0

POP 0E0H

POP 0D0H

RET

Назначение: выдача побитно в магистраль 32х-разрядного слова с частотой 12.5 КГц.

Вход: номер выводимого слова (номера 0 соответствует выводимому слову 206, и соответственно 2=207,3=271).

Выход: нет.

3.1.7Процедура аналогового вывода приборной скорости на ЦАП.

_VivodCapSl:

push 0e0h

push 1

push 2

push 3

clr tcon.4

mov a,CapSlowo0

mov p0,a

mov a,CapSlowo1

mov p2,a

setb p0.3

nop ;задержка чтобы ЦАП успел принять данные

nop

nop

nop

nop

clr p0.3

setb tcon.4

pop 3

pop 2

pop 1

pop 0e0h

ret

Назначение: аналоговый вывод на ЦАП приборной скорости .

Вход: приборная скорость.

Выход: на шине данных ЦАП высота с приведенным коэффициентом.

3.1.8Процедура установки признака от УСВИЦ-250.

void Priznak_Usvic(viod){

SlRab_bit8=0;/* Признак */

SlRab_bit9=1;/* от УСВИЦ-250 */

}

Назначение: в биты 8, 9 выходного слова ставится 0 и 1 соответственно для обозначения, что слово исходит от УСВИЦ-250.

Вход: нет.

Выход: SlRab_bit8=0; SlRab_bit9=1;

3.1.9Процедура установки признаков работоспособности УСВИЦ-250.

void Priznak_Work(bit unsigned char a, bit unsigned char b){

SlRab_bit30=a;

SlRab_bit29=b;

}

Назначение: в 30 и 29 биты ставятся признаки работоспособность УСВИЦ-250.

Вход: bit unsigned char a, bit unsigned char b.

Выход: SlRab_bit30=a; SlRab_bit29=b;

3.1.10Процедура наземного контроля.

void Test_Kontrol(void){

int V=0;

vvodvmd();

Perevod_Md(); /* перевод из грея в двоичную */

vvodvpr();

Perevod_Pr(); /* перевод из грея в двоичную */

/*----------------- Сохраняем тестовое значение ---------------------------*/

V=Vprd;

/*----------------- Прабавляем тестовое значение --------------------------*/

Vprd+=166*4;

/*----------------- Тест на наличие Vmd >= Vpr ----------------------------*/

if(Vprd>=Vmdd) { RXD=0; PK_Vpr=1; }

else { RXD=1; PK_Vpr=0; }

/*----------------- Отнимаем тестовое значение ----------------------------*/

Vprd-=166*4;

/*----------------- Востанавливаем тестовое значение ----------------------*/

Vprd=V;

/*----------------- Маштабирование Vprd -----------------------------------*/

Machtab(StecVprd);

VivodCapSl();

/*------------- копируем в поле 271 функциональный тест ------------------*/

SlRab=0;

Priznak_Work(1,0);/* признак функциональный тест */

CalcChetSl(); /* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlDs_1=SlRab_1;

SlDs_2=SlRab_2;

SlDs_3=SlRab_3;

SlDs_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*------------- копируем в поле 206 функциональный тест ------------------*/

SlRab=0;

Priznak_Work(1,0);/* признак функциональный тест */

CalcChetSl(); /* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlVpr_1=SlRab_1;

SlVpr_2=SlRab_2;

SlVpr_3=SlRab_3;

SlVpr_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*------------- копируем в поле 207 функциональный тест ------------------*/

SlRab=0;

Priznak_Work(1,0);/* признак функциональный тест */

CalcChetSl(); /* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlVmd_1=SlRab_1;

SlVmd_2=SlRab_2;

SlVmd_3=SlRab_3;

SlVmd_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*----------------- Тест Контроль программы -------------------------------*/

TestControlPO();

/*-------- Формирование дискретного 271 слова ----------------------------*/

SlRab=0;

Adress=0x9d;/* адрес слова 271 */

Priznak_Test();/* растановка признаков тестирования в слове */

Priznak_Usvic();/* признак от УСВИЦ-250 */

CalcChetSl();/* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlDs_1=SlRab_1;

SlDs_2=SlRab_2;

SlDs_3=SlRab_3;

SlDs_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*------ Формирование 206 слова в соответствии с РТМ, изм,3 для Vpr ------*/

SlRab=0;

FormPTM(StecVprd);

Adress=0x61;/* адрес слова 206 */

Priznak_Usvic();/* признак от УСВИЦ-250 */

Priznak_Work(1,1);/* признак нормальной работы */

If_Speed(Vprd);/* проверка на < 50км */

if ((Vpr_Ok==1)||(PO_Ok==1)) Priznak_Work(0,0);/* отказе */

CalcChetSl();/* подсчет четности */

/*------------- Копирование параметров в область вывода -------------------*/

asm(" clr TCON.4 ");/* остановка таймера */

SlVpr_1=SlRab_1;

SlVpr_2=SlRab_2;

SlVpr_3=SlRab_3;

SlVpr_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*----- Формирование 207 слова в соответствии с РТМ, изм,3 для Vmd -------*/

SlRab=0;

FormPTM(StecVmdd);

Adress=0xe1;/* адрес слова 207 */

Priznak_Usvic();/* признак от УСВИЦ-250 */

Priznak_Work(1,1);/* признак нормальной работы */

If_Speed(Vmdd); /* проверка на < 50км */

if ((Vmd_Ok==1)||(PO_Ok==1)) Priznak_Work(0,0);/* отказе */

CalcChetSl();/* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlVmd_1=SlRab_1;

SlVmd_2=SlRab_2;

SlVmd_3=SlRab_3;

SlVmd_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

SlRab=0;

/*-------- Сброс сторожевого таймера --------------------------------------*/

TXD=0;

TXD=1;

}

Назначение: Пилотом на земле включает тумблер тест контроля состояния прибора. Максимальная скорость индексом устанавливается на максимальную скорость (250) и к приборной скорости прибавляем тестовое значение скорости. При не совпадении скоростей выводим на индикацию световую и звуковую, сигнализируя о неисправности прибора. После чего проходит весь цикл программы функционирования прибора.

Вход: тестовое значение.

Выход: индикация.

3.1.11Процедура подсчета и записи бита четности 32х-разрядного рабочего слова.

void CalcChetSl(void){

SlRab_bit31=1;

SlRab_bit31=SlRab_bit31SlRab_bit0SlRab_bit1SlRab_bit2;

SlRab_bit31=SlRab_bit31SlRab_bit3SlRab_bit4SlRab_bit5;

SlRab_bit31=SlRab_bit31SlRab_bit6SlRab_bit7SlRab_bit8;

SlRab_bit31=SlRab_bit31SlRab_bit9SlRab_bit10SlRab_bit11;

SlRab_bit31=SlRab_bit31SlRab_bit12SlRab_bit13SlRab_bit14;

SlRab_bit31=SlRab_bit31SlRab_bit15SlRab_bit16SlRab_bit17;

SlRab_bit31=SlRab_bit31SlRab_bit18SlRab_bit19SlRab_bit20;

SlRab_bit31=SlRab_bit31SlRab_bit21SlRab_bit22SlRab_bit23;

SlRab_bit31=SlRab_bit31SlRab_bit24SlRab_bit25SlRab_bit26;

SlRab_bit31=SlRab_bit31SlRab_bit27SlRab_bit28SlRab_bit29;

SlRab_bit31=SlRab_bit31SlRab_bit30;

}

Назначение: подсчет четности слова и выставления знака четности в 31 разряде подсчет четности производиться по модулю 2.

Вход: нет.

Выход: SlRab_bit31- знак четности.

3.1.12Процедура перевода из кодов грея в двоичный код максимально допустимую скорость.

void Perevod_Md(void){

Vmdd=0;

Vmdd_bit9=Vmdg_bit9;

Vmdd_bit8=Vmdg_bit8Vmdd_bit9;

Vmdd_bit7=Vmdg_bit7Vmdd_bit8;

Vmdd_bit6=Vmdg_bit6Vmdd_bit7;

Vmdd_bit5=Vmdg_bit5Vmdd_bit6;

Vmdd_bit4=Vmdg_bit4Vmdd_bit5;

Vmdd_bit3=Vmdg_bit3Vmdd_bit4;

Vmdd_bit2=Vmdg_bit2Vmdd_bit3;

Vmdd_bit1=Vmdg_bit1Vmdd_bit2;

Vmdd_bit0=Vmdg_bit0Vmdd_bit1;

}

Назначение: перевод кодов грея в двоичный код.

Вход: Коды грея.

Выход: двоичный код.

3.1.13Процедура перевода из кодов грея в двоичный код приборную скорость.

void Perevod_Pr(void){

Vprd=0;

Vprd_bit9=Vprg_bit9;

Vprd_bit8=Vprg_bit8Vprd_bit9;

Vprd_bit7=Vprg_bit7Vprd_bit8;

Vprd_bit6=Vprg_bit6Vprd_bit7;

Vprd_bit5=Vprg_bit5Vprd_bit6;

Vprd_bit4=Vprg_bit4Vprd_bit5;

Vprd_bit3=Vprg_bit3Vprd_bit4;

Vprd_bit2=Vprg_bit2Vprd_bit3;

Vprd_bit1=Vprg_bit1Vprd_bit2;

Vprd_bit0=Vprg_bit0Vprd_bit1;

}

Назначение: перевод кодов грея в двоичный код.

Вход: Коды грея.

Выход: двоичный код.

3.1.14Процедура проверки на отказ маски максимальной скорости.

void Cikl_Otkaz_Vmd(void){

int c=3,St;

Vmd_Ok=0;

T1=0;

do

{

vvodvmd();

Perevod_Md();/* перевод из грея в двоичную */

St=StecVmdd;

if ((St+test_speed>Vmdd)&&(St-test_speed

{

StecVmdd=Vmdd;

break;

}

if (c==0)

{

Vmd_Ok=1;

T1=1;

break;

}

c--;

}

while(c>(-1));

}

Назначение: проверка маски максимальной скорости путем проверки предыдущих значений с полученными значениями и допуск не должен превышать тестовой единицы. Если превышение возникло, то проверка проходит еще 3 раза, но если после этого превышение не исчезло. Выдается световая сигнализация на борт панель пилоту и записывается в ячейку служебного слова (271).

Вход: нет.

Выход: нет.

3.1.15Процедура проверки на отказ маски приборной скорости.

void Cikl_Otkaz_Vpr(void){

int b=3,St;

Vpr_Ok=0;

RXD=0;

do

{

vvodvpr();

Perevod_Pr();/* перевод из грея в двоичную */

St=StecVprd;

if ((St+test_speed>Vprd)&&(St-test_speed

{

StecVprd=Vprd;

break;

}

if (b==0)

{

Vpr_Ok=1;

RXD=1;

break;

}

b--;

}

while(b>(-1));

}

Назначение: проверка маски приборной скорости путем проверки предыдущих значений с полученными значениями и допуск не должен превышать тестовой единицы. Если превышение возникло, то проверка проходит еще 3 раза, но если после этого превышение не исчезло. Выдается световая сигнализация на борт панель пилоту и записывается в ячейку служебного слова (271).

Вход: нет.

Выход: нет.

3.1.16Процедура масштабирование для вывода на ЦАП.

void Machtab(unsigned int V1){

double rab1;

rab1=(double)V1;

rab1*=0.63;

CapSlowo=0;

CapSlowo=(unsigned int)rab1;

CapSlowo0<<=6;

}

Назначение: масштабирование необходимо потому, что по ТУ выдача аналогового сигнала должна соответветствовать всем единицам на входе ЦАП, на аналоговом выходе 0.63 В.

Вход: приборная скорость.

Выход: нет.

3.1.17Процедура формирование 32х-разрядного слова с соответствием с РТМ

void FormPTM(unsigned int V1){

double rab2;

SlRab=0;

rab2=(double)V1;

rab2/=0.11575;

SlRab=(unsigned long)rab2;

rab2-=(double)SlRab;

SlRab<<=12;

}

Назначение: для формирование 32х-разрядного слова с соответствием с РТМ необходима данные поместить с 11 по 27 разряд с ценой младшего разряда.

Вход: приборная скорость.

Выход: данные помещены в слове на свое место.

3.1.18Процедура тест контроля программного обеспечения

void TestControlPO(void){

int Vprd1=0,Vmdd1=0,Vprg1=0,Vmdg1=0;

PO_Ok=Vmd_Ok=Vpr_Ok=0;

Vprg1=Vprg;

Vmdg1=Vmdg;

Vprd1=Vprd;

Vmdd1=Vmdd;

Vmdg=Vprg=speed;

Perevod_Md();

Perevod_Pr();

if (Vmdd!=200) { PO_Ok=1; Vmd_Ok=1; }

if (Vprd!=200) { PO_Ok=1; Vpr_Ok=1; }

/*----------------------------- 206 --------------------------------------*/

SlRab=0;

FormPTM(Vprd);

Adress=0x61;

Priznak_Usvic();

Priznak_Work(1,0);

CalcChetSl();

if(SlRab!=0) { PO_Ok=1; Vpr_Ok=1; }

/*----------------------------- 207 --------------------------------------*/

SlRab=0;

FormPTM(Vmdd);

Adress=0xe1;

Priznak_Usvic();

Priznak_Work(1,0);

CalcChetSl();

if(SlRab!=0) { PO_Ok=1; Vmd_Ok=1; }

SlRab=0;

Vprg=Vprg1;

Vmdg=Vmdg1;

Vprd=Vprd1;

Vmdd=Vmdd1;

}

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

Вход: тестовое значение кодов грея.

Выход: нет.

3.1.19Процедура проверки скорости, на меньше 50км.

void If_Speed(unsigned int V){

if(V<200) Priznak_Work(0,1);

}

Назначение: при полеченной скорости меньше чем 50 км необходимо по ТУ выдавать в выходном слове признак нет вычисленных данных.

Вход: приборная скорость.

Выход: расстановка признаков нет вычисленных данных.

3.2Описание аппаратных функций

3.2.1Основные функции системы

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

3.2.2Технология инсталляции программы

Данный программный продукт поставляется на предприятие-заказчик для конечного использования в борт компьютерах вертолетах или самолетах с максимальной скоростью не более 250км.

При использовании данной версии программы, программа записывается во внутреннью память процессора, т.к. процессор имеет встроенную постоянную память.

3.2.3Инструкция пользователю

Данная программа разрабатывалсь на ПЭВМ класса PENTIUM c процессором фирмы INTEL с тактовой частотой 100 МГц и с использование внутрисхемного эмулятора фирмы Phyton PICE-51. На этой же машине, но с эксперементальным образцом контроллера проводились испытания. Операционная система Windows'98.

3.3Оценка качества проекта

Качество настоящего проекта будем оценивать по следующим критериям:- полезность (исходная и общая);- удобство эксплуатации;- эффективность;- модифицируемость;- машинонезависимость;

-завершенность;

- согласованность;

- рациональность;

- доступность;

- коммуникативность;

- информативность;

- расширяемость.

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

Продукт проектирования обладает свойством ПОЛЕЗНОСТИ, если он отвечает поставленным целям. Это свойство имеет две стороны:

1) исходная полезность - насколько просто, надежно, эффективно можно использовать основной результат обработки;

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

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

Удобство эксплуатации

Продукт проектирования УДОБЕН в ЭКСПЛУАТАЦИИ, если рассматривается возможность его обновления в соответствии с новыми требованиями.

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

Эффективность

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

Так как результат проектирования установлен и удовлетворительно функционирует на процессоре INTEL 8051 широко используемый в самолетостроении в наше время, то можно определить проект эффективным.

Модифицируемость

Продукт проектирования необладает свойством МОДИФИЦИРУЕМОСТИ, т.к. он имеет закрытую структуру, не позволяющую легко вносить требуемые изменения.

Так как под модифицируемостью, видимо подразумевается степень открытости архитектуры, то проект не обладает этим свойством.

Машинонезависимость

Продукт проектирования обладает свойством МАШИНОНЕЗАВИСИМОСТИ, если входящие в него функциональные компоненты могут быть реализованы на иных технических средствах. Машинонезависимость проекта целиком и полностью зависит от машинонезависимости контроллера, версии которой работают на довольно многих типах процессоров. Таким образом, свойство машинонезависимости НЕПРИСУЩЕ.

Завершенность

Продукт проектирования обладает свойством ЗАВЕРШЕННОСТИ, если в нем присутствуют все необходимые компоненты, каждый из которых разработан всесторонне.

Согласованность

Продукт проектирования обладает свойством ВНУТРЕННЕЙ СОГЛАСОВАННОСТИ, если он всюду содержит единую нотацию, терминологию и символику. Он также обладает свойством ВНЕШНЕЙ СОГЛАСОВАННОСТИ, если можно проследить его соответствие конкретным требованиям.

Рациональность

Продукт проектирования обладает свойством РАЦИОНАЛЬНОСТИ, если он использует все возможности (языка программирования, численных методов, технических и других средств) для минимизации расхода ресурсов.

На основе анализа исходных текстов можно сделать вывод о том что он не обладает указанным свойством.

Доступность

Продукт проектирования обладает свойством ДОСТУПНОСТИ, если он не допускает селективное использование его компонентов. На основании информации из раздела 2 можно сказать, что проект НЕ ДОСТУПЕН.

Коммуникативность

Продукт проектирования обладает свойством КОММУНИКАТИВНОСТИ, если он дает возможность легко описывать входные данные и выдает информацию, форма и содержание которой просты для понимания и несут полезные сведения.

Расширяемость

Продукт проектирования не обладает свойством РАСШИРЯЕМОСТИ, если он позволяет при необходимости увеличить объем обрабатываемых данных или расширить функции отдельных модулей.

3.4Выводы

В данном разделе выпускной работы были проведены следующие работы:

описание фнкций основных модулей программы;

описана технология инсталяции программы;

дана инструкция пользователю;

проведена оценка качества проекта;

4Организационно-техническая часть

4.1Расчет затрат на разработку программы

Затраты на разработку программного продукта рассчитываются по формуле:

Zрпп = Zзп + Zзпд + Остр + Оам + Zээ + Rкосв , (1)

где

Zзп - затраты на заработную плату программисту, руб.;

Zзпд - затраты на дополнительную заработную плату, руб.;

Остр - отчисление на социальное страхование, руб.;

Оам - амортизационные отчисления, руб.;

Zээ - затраты на электроэнергию во время разработки программы, руб.;

Rкосв - косвенные расходы, руб.

Разработка программы производилась инженером-программистом, с заработанной платой 600 рублей в месяц. На разработку программы ушло 5 месяца, поэтому затраты на зарплату составляют:

Zзп = 600 * 5 = 3000 (руб.)

Дополнительная заработная плата составляет 30% от основной заработной платы, тогда затраты на дополнительную заработную плату:

Zзпд = Zзп * 0.3 = 3000 * 0.3 = 900 (руб.)

Отчисления на социальное страхование составляют 37% от общей заработной платы, то есть

Остр = ( Zзп + Zзпд ) * 0.37 = ( 3000 + 900 ) * 0.37 = 1443 (руб.)

Стоимость ПЭВМ, используемой для разработки программы составляет 15 500 руб. Срок службы персонального компьютера составляет 8 лет. Тогда на данный момент амортизационные отчисления за месяц составляют:

Оам1 = 15500 / ( 8 * 12 ) = 161.45 (руб.)

За 5 месяца:

Оам = 161.45 * 5 = 807.25 (руб.)

На отладку и тестирование программы с использованием ПЭВМ затрачено 120 рабочих дней, из них, в среднем каждый день по 5 часа. Стоимость электроэнергии 0.14 руб. за киловатт. Мощность, потребляемая ПЭВМ 300 Вт. Посчитаем затраты на электроэнергию во время разработки программы, руб.;

Zээ = ( 120 * 5 ) * 0.14 * 0.300 = 25.2 (руб.)

Косвенные расходы составляют 110% от основной заработанной платы программиста:

Rкосв = 3000 * 1.1 = 3300 (руб.)

Таким образом, подставляя вычисленные значения затрат в формулу (1), получим стоимость затрат на разработку программы:

Zрпп = 3000 + 900 + 1443 + 807.25 + 25.2 +3300= 9475,45 (руб.)

4.2Расчет экономической эффективности от внедрения программного продукта

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

Экономическую эффективность рассчитаем по формуле:

Eэ = Zдв - Zпв, (2)

где

Zдв - затраты до внедрения;

Zпв - затраты после внедрения.

4.2.1Затраты до внедрения

Затраты до внедрения программного продукта рассчитаем по формуле:Zдв = Zзп + Zзпд + Oстр, (3)гдеZзп - затраты на заработную плату работнику, руб.;Zзпд - затраты на дополнительную заработную плату, руб.;

Остр - отчисление на социальное страхование, руб.;

Средняя заработанная плата работников отдела технической информации составляет 800 руб., тогда:

Zзп = 800 * 5*12 = 48 000 (руб.)

Дополнительная заработная плата составляет 30% от основной заработной платы, тогда затраты на дополнительную заработную плату:

Zзпд = Zзп * 0.3 = 48 000 * 0.3 = 14400 (руб.)

Отчисления на социальное страхование составляют 37% от общей заработной платы, тогда:

Oстр =(Zзп + Zзпд)* 0.37 , то есть

Остр = (48000 + 14400) * 0.37 = 23088 (руб.),

Таким образом, подставляя вычисленные значения затрат в формулу (3), получим стоимость затрат до внедрения программы:

Zдв = 48 000 + 14400 + 23088 = 85488 (руб.).

4.2.2Затраты после внедрения

Затраты после внедрения программного продукта рассчитаем по формуле:

Zпв = Zзп + Zзпд + Oстр + Zээ + Oам + Sпо + Zвпп, (4)

где

Zзп - затраты на заработную плату программисту, руб.;

Zзпд - затраты на дополнительную заработную плату, руб.;

Остр - отчисление на социальное страхование, руб.;

Zээ - затраты на электроэнергию для ПЭВМ, руб.;Оам - амортизационные отчисления, руб.;

Zвпп - затраты на внедрение программного продукта, руб.

Заработанная плата программисту равна 600 тыс. руб., тогда:

Zзп = 600 * 12 + 400 * 12 = 12 000 (руб.).

Дополнительная заработная плата составляет 30% от основной заработной платы, тогда затраты на дополнительную заработную плату:

Zзпд = Zзп * 0.3 = 12 000 * 0.3 = 3600 (руб.).

Отчисления на социальное страхование составляют 37% от общей заработной платы, тогда:

Oстр = ( Zзп + Zзпд ) * 0.37 , то есть

Oстр = (12000+3600)*0.37= 5772 (руб.).

ПЭВМ на рабочем месте работает 8 часов в день. Количество рабочих дней в году 264. Стоимость электроэнергии 0.14 руб. за киловатт. Мощность, потребляемая ПЭВМ 300 Вт. Посчитаем годовые затраты на электроэнергию, потребляемую ПЭВМ, руб.;

Zээ = (8 * 264) * 0.14 * 0.300 = 88 (руб.).

Стоимость ПЭВМ, используемой при эксплуатации разработанной программы составляет 15 500 руб. Срок службы персонального компьютера составляет 8 лет. Тогда амортизационные отчисления за год составляют:

Oам = 15 500 / 8 = 1937.5 (руб.).

Стоимость программного обеспечения равняется себестоимости программного продукта, посчитанной в предыдущем пункте данной главы. Следовательно:

Sпо = 9475.45(руб.).

В затраты на внедрение программного продукта входят затраты на изготовление сопроводительной документации, на заработную плату службы сопровождения программного продукта, затраты на обучение пользователя работе с программой, на установку программного продукта, на адаптацию программного продукта к условиям пользователя и т.д. Так как размер данных затрат зависит от конкретных условий, то стоимость затрат на этапе внедрения можно оценить только качественно, и можно сказать что она будет соизмерима со стоимостью затрат на этапе разработки. Затраты на внедрение программного продукта составляют 110% от затрат на этапе разработки программного обеспечения:

Zвпп = 9475.45 * 1.1 = 10423 (руб.)

Таким образом, подставляя вычисленные значения затрат в формулу (4), получим стоимость затрат после внедрения программы:

Zпв = 12000 + 3600 + 5772 + 88 + 1937.5 + 9475.45 + 10423 = 43295,95 (руб.)

Подставляя рассчитанные затраты до и после внедрения программы в формулу (2), получим значение экономической эффективности от внедрения разработанного программного продукта:

Eэ = Zдв - Zпв = 85488 - 43295,95 = 42192.05 (руб.)

4.3Выводы

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

5Экологичность и безопасность проекта.

Введение.

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

Вопросы обеспечения безопасности труда являются неразрывной частью любого технологического процесса. Осуществление всего комплекса мероприятий по безопасности жизнедеятельности (БЖД) позволяет решить одну из главных ее задач - свести к минимуму вероятность поражения или заболевания работающего с одновременным обеспечением комфорта на рабочем месте. Улучшение условий труда приводит к социальным результатам: к улучшению здоровья трудящихся к укреплению трудовой дисциплины, росту производительности труда и общественной активности.

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

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

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

5.1 Анализ опасных и вредных факторов.

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

физические;

химические;

биологические;

психофизиологические.

Рассмотрим подробнее те из них, что непосредственно связаны с темой настоящего проекта, т.е. физические и психофизиологические.

Физические опасные и вредные производственные факторы подразделяются, в свою очередь, на группы:

опасность поражения электрическим током [8,9];

повышенный уровень электромагнитных излучений [11];

наличие мощных ионизирующих излучений [7];

повышенный уровень статического электричества [9];

неудовлетворительные метеоусловия (микроклимат) в помещении [1];

повышенный уровень шума, ультразвука на рабочем месте [5];

проблемы с освещением [12,14];

неправильная организация рабочего места [3,13];

пожароопасность [2].

Психофизиологические опасные и вредные производственные факторы по характеру действия подразделяются на:

Физические перегрузки;

Нервно-психические перегрузки;

Физические перегрузки делятся на статические и динамические, а нервно-психические - на умственное перенапряжение, перенапряжение анализаторов, монотонность труда и эмоциональные перегрузки.

Перейдем к анализу опасных и вредных производственных факторов.

Электробезопасность.

Проходя через тело человека, электрический ток оказывает на него сложное воздействие [8]:

термическое (ожоги, нагрев тканей и биологических сред);

электролитическое (разложение биологических жидкостей, изменение физико-химического состава);

механическое (разрыв тканей);

биологическое (раздражение и возбуждение тканей).

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

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

В лаборатории поддерживаются следующие меры по техники безопасности:

имеется автоматический выключатель;

все электрооборудование имеет рабочую изоляцию;

к электрооборудованию допускаются лица не моложе 18 лет и прошедшие инструктаж по техники безопасности;

регулярно проводится технический осмотр оборудования.

Таблица 8. Воздействие на организм человека переменного тока промышленной частоты.

Сила тока, мА

Характер воздействия

До 1

Не ощущается.

1 – 6

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

6 – 20

Ощущения тока болезненны. Управление мышцами затруднено, невозможно самостоятельное освобождение от контакта.

20 – 30

Ощущение тока весьма болезненны. Самостоятельное освобождение от контакта невозможно.

30 – 50

Сильные судорожные сокращения мышц. Дыхание затруднено, возможна остановка сердца.

50 и более

Парализация дыхания. Фибрилляция сердца, приводящая к смерти, сильные ожоги.

Электромагнитные излучения.

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

Электромагнитное поле воздействует следующим образом:

в электрическом поле атомы и молекулы, из которых состоит тело человека, поляризуются, полярные молекулы (например, воды) ориентируются по направлению распространения электромагнитного поля;

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

Чем больше напряженность поля и время воздействия, тем сильнее проявляются указанные эффекты.

Вредное биологическое действие проявляется при напряженности электрического поля свыше 20 В/м для частот от 60 КГц до 30 МГц и напряженности магнитного поля свыше 5 А/м для частот от 5 КГц до 300 МГц [7].

Тормозное излучение ЭЛТ.

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

ГОСТ 27954-88 [11] регламентирует требования радиоактивной безопасности. Уровень излучения на расстоянии 5 см от экрана не должен превышать 0,03 микрорентген в час [7].

Так как уровни излучений довольно низки (благодаря технологии изготовления мониторов на ЭЛТ), то данный фактор нельзя считать одним из наиболее вредных.

Статическое электричество.

Одним из возможных вредных факторов при работе с вычислительной техникой являются электростатические поля. Статическое электричество воздействует на человека в связи с электризацией пола в помещении дисплейного зала, при пониженной влажности воздуха (ниже 40-45%). Напряжения отрицательных зарядов на поверхности полов колеблется в пределах 40-800 В, причем наибольшие величины при относительной влажности менее 35% [9].

Для снижения величин возникающих разрядов статического электричества используется:

покрытие технологических полов из поливинилхлоридного антистатического линолеума марки АСН;

местное увлажнение воздуха.

Электризация возникает также при работе ЭЛТ - мониторов. Электризуется, прежде всего, стекло экрана, но часть заряда приходится и на весь корпус монитора. Недопустимо высокий уровень статического электричества возникает при неисправности внешнего антистатического экрана или встроенной антистатической защиты монитора. Чрезмерная электризация может возникнуть, если внешний антистатический экран не заземлен.

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

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

ГОСТ 12.1.045-84 [9] устанавливает допустимые уровни статических электрических полей (при напряженности поля менее 20 кВ/м время пребывания в электростатических полях не ограничено).

Метеоусловия в помещении.

Показателями, характеризующими микроклимат в производственном помещении, являются:

температура воздуха;

относительная влажность воздуха;

скорость движения воздуха;

интенсивность теплового излучения.

В помещениях с вычислительной техникой при выполнении работ операторского типа, связанных с нервно-эмоциональным напряжением, необходимо соблюдать оптимальные величины показателей [1].

Таблица 9. Оптимальные величины показателей метеоусловий в помещениях с вычислительной техникой.

Период

Температура воздуха, °C

Относительная влажность, %

Скорость движения воздуха, м/с

Холодный

21-23

40-65

0.1

Теплый

22-24

40-60

0.2

Колебания температуры воздуха допускаются до 4%.

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

В целом параметры соответствуют нормам.

Содержание вредных химических веществ в воздухе не превышает среднесуточных концентраций атмосферного воздуха.

В помещении система кондиционирования отсутствует, т.к. объем воздуха приходящийся на одно рабочее место соответствует нормам. Работы, выполняемые в лаборатории, не влекут за собой выделения пыли, влаги, газов, загрязняющих веществ. Запыленность низкая. Ежедневно проводятся влажные уборки.

Шум в производственном помещении.

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

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

Таблица 10. Предельно допустимые значения уровня шума.

Частота, Гц

Уровень шума, дБ

31.5

86

63

61

125

61

250

54

500

49

1000

45

2000

42

4000

40

8000

38

Общий допустимый уровень звукового давления для помещений составляет 60 дБ [5].

Освещение в производственных помещениях.

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

Утомленность органов зрения зависит от:

недостаточной освещенности;

чрезмерной освещенности;

неправильного направления света;

резких переходов от одной яркости поля зрения к другой;

пульсации освещения.

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

Чрезмерная освещенность вызывает ослепление, раздражение и резь в глазах.

Неправильное направление света может создавать резкие блики и тени, дезориентировать работающего.

Переход от одной яркости поля зрения к другой вызывает длительную (может длиться минутами) адаптацию зрения.

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

Освещенность поля каждого рода работ зависит от:

размера объекта;

различие контраста объекта с фоном;

точности работ;

Рациональное освещение, кроме количественной стороны, характеризуется еще и качественной. Качественным освещение считается тогда, когда оно удовлетворяет следующим требованием:

достаточная яркость;

распределение яркости в поле зрения;

ограничение ослеплённости;

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

постоянство освещенности;

надежность освещения.

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

Норма освещенности по [14] для вычислительных центров и персонала, осуществляющего эксплуатацию ЭВМ при горизонтальной плоскости нормирования освещенности и ее высоте от пола 0,8 м:

при комбинированном освещении - 750 лк;

при общем освещении - 400 лк;

коэффициент пульсаций - не более 15%.

Рекомендуемая освещенность для работы с экраном дисплея составляет 200 лк, а при работе с экраном в сочетании с работой над документацией - 400 лк. Рекомендуемые яркости в поле зрения операторов должны лежать в пределах 1:5 - 1:10.

В нашем случае местное освещение отсутствует, поэтому норму освещенности берем при общем освещении — 400 лк. В помещении установлены 6 люминесцентных ламп типа ЛХБ80 освещенность помещения при которых более 400 лк.

Организация рабочего места

Основные причины костно-мышечных болей и усталости - это, как правило, нерациональная организация рабочего места. Необходимо наличие специальной мебели, вращающегося стула с изменяемой высотой сиденья и угла наклона спинки. Спинка должна иметь правильную форму, поддерживать поясничный отдел позвоночника, позволяя в то же время сидеть прямо [1,3,13].

Согласно [1] роль вредных факторов могут играть высота рабочей поверхности стола, высота сиденья, глубина пространства для ног, форма и расположение подставки для ног, если она необходима, глубина рабочей поверхности стола, невозможность отрегулировать высоту сидения, наклон и высоту спинки.

Вредным фактором является также неправильное размещение дисплея и рабочих материалов перед оператором [1].

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

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

Однообразие движений пальцев и кисти при длительной работе с клавиатурой ПЭВМ также являются вредным фактором. При отсутствии профилактики и нарушении норм охраны труда могут появиться боли в кистях и пальцах рук, нарушения кровообращения в кончиках пальцев вследствие постоянных микро ударов о поверхность клавиш и однообразного положения рук и пальцев. Имеет значение время непрерывной работы с клавиатурой, выполнение специальных профилактических физических упражнений, профилактическое лечение и правильное расположение клавиатуры (должны быть предусмотрены специальные углубления в рабочей поверхности стола для клавиатуры) [13].

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

Глубина пространства для ног должна быть не менее 650 мм, высота - не менее 600 мм. Расстояние от крышки стола до сиденья должно быть не менее 150 мм, глубина рабочей поверхности должна составлять 450 мм. Расстояние от рабочей поверхности до сидения должна быть не менее 150 мм, на рабочей поверхности стола должно оставаться свободное пространство для опоры предплечий, глубина рабочей поверхности должна быть не менее 450 мм, высота рабочей поверхности - не менее 600 мм [1].

Дисплей должен располагаться так, чтобы его зоны, требующие точного и быстрого считывания, располагались прямо перед оператором, так, чтобы линия взгляда на эти зоны составляла не более 30° с горизонтальной плоскостью и была ниже этой горизонтальной плоскости, проведенной на уровне глаз оператора. В пределах очень часто используемых зон дисплея взгляд оператора не должен отклоняться вбок более чем на 15° вправо или влево. То же самое относится к расположению рабочих документов. Если обращение к средствам отображения информации происходит менее двух раз в минуту, они могут располагаться в пределах 30° от указанной горизонтальной плоскости и на такой же угол влево и вправо. При длительной работе с бумажными документами должна иметься подставка для документов с регулируемым углом наклона, обеспечивающая требуемое направление линии зрения.

Помещение оборудовано одноместными столами, что соответствует нормам.

Конструкция стола для работы на ПЭВМ и ВДТ отвечает современным эргономическим требованиям.

Рабочее место оснащено стулом, размеры которого подходят не для всех рабочих, т.к. стул не обладает регулятором высоты и отсутствует механизм изменения наклона спинки стула.

Пожароопасность.

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

Опасные факторы пожара, воздействующие на человека [10]:

пламя и искры;

повышенная температура окружающей среды;

токсичные продукты горения;

дым;

пониженная концентрация кислорода;

обрушение и повреждение зданий, сооружений;

ударная волна.

В основе всех явлений происходящих при пожаре лежит горение. По способности поддерживать горение все вещества делятся на:

Негорючие;

Трудногорючие;

Горючие;

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

При пожаре человека подвергается многим опасным факторам:

ожоги различной сложности;

удушение от дыма вплоть до смертельного исхода;

травмы и переломы при обрушении зданий.

5.1.1Анализ помещения по электробезопасности [8].

По степени опасности поражения людей электрическим током помещение лаборатории – без повышенной опасности, так как отсутствуют условия, создающие повышенную опасность: сырость и токопроводящая пыль, токопроводящий пол, высокая температура [8].

Сеть питания – однофазная, 220 В, 50 Гц, с заземленным нулевым кабелем.

В лаборатории поддерживаются следующие меры по техники безопасности:

  1. Имеется автоматический выключатель;

  2. Все электрооборудование имеет рабочую изоляцию;

  3. К электрооборудованию допускаются лица не моложе 18 лет и прошедшие инструктаж по техники безопасности;

  4. Регулярно проводится технический осмотр оборудования.

Возможные пути получения тока (удар эл. током):

  1. Попытка ремонта оборудования (ПЭВМ, ВДТ и т.д.) своими силами без его обесточивания.

  2. Попытка ремонта розетки своими силами без отключения ее от сети.

  3. Попытка вставить нестандартную вилку (европейский стандарт) в отечественную розетку.

  4. Разболтанность розеток.

  5. Неисправность удлинителя.

  6. Неисправность рабочего инструмента (паяльника и т.д.)

5.1.2Анализ помещения по взрывопожарной безопасности.

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

Опасные факторы пожаров и взрывов [44].

5.1.2.1Причины возникновения пожаров: [44]

  1. Ошибки в технологических процессах и проектировании.

  2. Конструктивные недостатки оборудования, неправильный выбор
    исполнения электрооборудования для взрывоопасных зон.

  3. Неправильное применение открытого огня.

  4. Процессы самовозгорания

  5. Нарушение требований СНиП.

Опасные факторы пожара:

Высокая температура окружающей среды; дым; сниженная концентрация кислорода (<12%); отравляющие вещества, токсичные продукты горения; вторичные проявления пожара: разрушающиеся здания и конструкции, выход горючих газов, жидкостей из трубопроводов и т.д., огнетушащие вещества (С02 (-60 С), фреон), взрыв.

Категории производств по взрывопожарной опасности:

  1. А - взрывопожароопасные производства; (АЭС, производство микросхем);

  2. Б - взрывопожароопасные производства, легковоспламеняющиеся жидкости=<28 С, горючие газы, пыль;

  3. В - твердые горючие материалы и вещества (помещения, где есть компьютеры);

  4. Г - открытый огонь или технология с высокой температурой;

  5. Д – не пожароопасные производства, твердые негорючие материалы в холодном состоянии;

Источниками возникновения пожара в лаборатории могут оказаться ПЭВМ и другие электрические устройства, где в результате неисправностей образуются перегретые элементы, электрические дуги и искры, способные вызвать загорание горючих материалов, которыми в лаборатории являются: столы, стулья, двери и т.п.

По взрывоопасности помещение можно отнести к категории В – пожароопасное, так как имеются твердые сгораемые вещества и материалы: стулья, столы, дверь, шкафы.

На случай пожара в помещении имеется огнетушитель марки ОУ-2.

В зависимости от пределов огнестойкости строительных конструкций в установлены восемь степеней огнестойкости зданий: I, II, III, IIIa, IIIб, IV, IVa, V. Учитывая высокую стоимость оборудования, а также категорию пожароопасности здание, в котором предусмотрено размещение ЭВМ, имеет II степень огнестойкости.

5.2Анализ по обеспечению здоровых и безопасных условий труда.

В данном разделе рассмотрены меры, направленные на исключение или снижение влияния вредных факторов, а также требования к помещению, где находятся рабочие места работающих с ПЭВМ.

Требования по электробезопасности [2,8].

Система организационных мероприятий позволяет предотвратить многие аварии и несчастные случаи в электроустановках. Отступление от этой системы - одна из главных причин электротравматизма.

Поэтому в связи с вышесказанным:

Монтаж и установку ПЭВМ и рабочих станций производить в строгом соответствии с инструкцией;

В связи с использованием в ВТ технических заземлении соблюдать требования [2,8]. Обращать особое внимание на целостность изоляции всех кабелей и разъемов, чтобы не оказаться неожиданно под напряжением относительно земли;

Запрещается самостоятельно вскрывать корпус ПЭВМ, поскольку внутри имеется высокое напряжение (до 30 кВ в мониторе). Запрещается работать с ПЭВМ и ее периферийными устройствами с открытым корпусом, самостоятельно переключать силовые и интерфейсные кабели, проливать жидкости или ронять мелкие предметы (скрепки, кнопки и т.п.) в вырезы корпусов ВТ.

Требования по защите от излучений ЭЛТ и статического электричества.

В состав экранов мониторов ПЭВМ добавлены вещества (стронций, свинец), чтобы уровень рентгеновского излучения на расстоянии 5 см от экрана не превышал 0,03 микрорентген/сек, поэтому специальных мер по организации защиты от излучения не требуется.

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

3)Требования к микроклимату.

Для обеспечения комфортных условий на рабочем месте выполнять следующие требования к окружающей среде:

температура окружающего воздуха - 22° С;

относительная влажность воздуха - 45-55%;

скорость движения воздуха - 0,1 м/с;

колебание температуры воздуха в течение рабочего дня не более 4%.

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

Требования к освещению.

В системе освещения использовать люминесцентные лампы с общим спектром (например: типов ЛБ, ЛТБ). Для освещения помещений использовать подвесные, потолочные, встроенные осветительные приборы (ОП) прямого, преимущественно прямого и рассеянного света с КСС в нижней полусфере типа Д или Г. Кроме этого необходимо обеспечить равномерное распределение яркостей на рабочих поверхностях, в поле зрения оператора, постоянства освещенности по площади и во времени.

Рекомендации и требования к организации рабочего места.

Организовать режим работы и отдыха следующим образом.

Пятидневная рабочая неделя с продолжительностью рабочей смены 7 часов 40 минут. Для снятия усталости шеи, спины, глаз необходимо через каждые 40-50 минут работы делать десятиминутный перерыв, во время которого сделать несколько физических упражнений. Рекомендуются специальные упражнения для разгрузки напряжения глаз. Очень важно снять усталость с пальцев рук, кисти; поэтому более 10…12 тыс. нажатий клавиш в час делать не рекомендуется. Не более, чем через четыре часа после начала смены перерыв для питания (40 минут). Общее время работы с ПЭВМ в течение рабочего дня не должно превышать 4 часов.

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

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

Предусмотреть подставку для ног. Параметры подставки для ног:

ширина не менее 300 мм;

длина не менее 400 мм;

поверхность с достаточным сцеплением с подошвой.

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

Требования по пожарной безопасности.

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

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

Для своевременного обнаружения и тушения пожаров оборудовать рабочее место:

автоматической системой пожарной сигнализации с установленными в помещении тепловыми датчиками;

планом эвакуации людей, указателями;

ручными углекислотными огнетушителями типа ОУ-5 для тушения электрооборудования.

5.3Паспорт рабочего места.

Паспорт рабочего места программиста___

По теме дипломного проекта “ Разработка СПО указателя скорости с цифровым выходом УСВИЦ-250 ” студента группы ЭВМДУ-53 Грачева А.Ю.

Наименование фактора, показателя

Фактическое значение

Нормативное значение

Нормативный документ

1.Общая характеристика рабочего места.

1.1.Предприятие

OАО “УКБП”

Класс предприятия по санитарной характеристике

5

5

[16, 21]

Санитарно-защитная зона, м

50

50

То же

1.2.Отдел

НИО-21

Габариты комнаты, м

6х8

Этаж

3

1.3.Профессия

Программист

Программист

Разряд

Сопутствующая работа

Электронщик

Электронщик

ТК

1.4.Сменность

1

1

ТК

1.6.Оборудование

Персональный компьютер

Персональный компьютер

ТК

1.8.Инструмент

Клавиатура

Клавиатура

ТК

1.9.Приспособления

Мышь, принтер

Мышь, принтер

ТК

1.10.Месторасположение рабочего места

Стационарное

Стационарное

ТК

1.11.Режим труда и отдыха

40ч в неделю

40ч

КЗОТ, ТК

1.12.Спецодежда и защитные средства

1.14.Среда помещения

Сухое

Сухое

[17]

1.15.Характеристика помещения по ЭБ

1кл.-без пов. опасности

1кл.-без пов. опасности

[17]

1.16.Категория помещения по взрывопожарной опасности

В

В

[16]

1.17.Класс взрывопож. зон.

П-2а, В-2а

П-2а, В-2а

[16, 17]

1.18.Отнесение к работам, выполняемым:

Во вредных условиях

В особо вредных условиях

В условиях повыш опасности

Отраслевой перечень

1.19.Льготы за условия труда:

Сокращение рабочего времени

Выдача молока

Лечебно-проф. питание

Доп. отпуск

Пенсионное обеспечение

[18]

отраслевой

перечень

[18]

[19]

1.20.Условия допуска к самостоятельной работе

Образование

Квалиф. разряд

Возраст, лет

Прочее

ВУЗ

22

ВУЗ

21

ТК

ТК

ТК

ТК

1.21.Медицинские осмотры:

При приеме на работу

Периодичность освидетельствования

+

1 раз в год

+

1 раз в год

[20]

правила предприятия

1.22.Характеристика произв. Травматизма:

Коэффициент частоты

Коэффициент тяжести

Документация предприятия

2.Психо-физиологические и гигиенические факторы.

2.1.Физическая нагрузка, затрачиваемая на перемещение:

Разовая, кг

За смену, кг

ТК

ТК

2.2.Рабочая поза

Сидя

Сидя

ТК

2.3.Действия рабочего по отношению к грузу

ТК

2.5.Монотонность:

Количество приемов в операции

Количество операций в час

Длительность операции

2.6.Коэф. активного времени в операции

2.7.Коэф. загрузки рабочего

2.8.Величина нервно-псих. нагрузки:

Длительность сосредоточенного наблюдения, % времени

Число объектов набл.

Число движений в час

Число сигналов в час

Интеллектуальная нагрузка

Нервно-эмоциональное напряжение

50

1

1

решение сложных задач

простые действия по алгоритму

решение сложных задач

простые действия по алгоритму

ТК

ТК

ТК

ТК

2.9.Характеристика зрительной работы

Освещенность, Лк:

Рабочее освещение

Аварийное

Эвакуационное

400

0,2

400

0,2

[14]

2.10.Типы источников света и светильников:

Общее раб. освещение

Местное освещение

Аварийное освещение

Эвакуационное

ЛХБ80

+

ЛБ, ЛП036

ЛБ,ЛП036

+

[1 пр. 11]

2.11.Категория тяжести выполняемой работы в зависимости от энергозатрат

Легкая 1а

Легкая 1а

[22]

2.12.Микроклимат в холодный период года (оптим./доп.):

Температура, °С

Подвижность воздуха, м/с

Влажность, %

16

0,1

50

22-24 /21-25

0,1 / 0,1

40-60/75

[6]

[1 пр.4]

[1 пр.4]

[1 пр.4]

2.13.Микроклимат в теплый период года (оптим./доп.):

Температура, °С

Подвижность воздуха, м/с

Влажность, %

24

0,1

50

23-25/22-28

0,1/0,1-0,2

40-60/55

[6]

[1 пр.4]

[1 пр.4]

[1 пр.4]

2.14.Интенсивность теплового облучения

[6]

2.15.Пути воздействия химических веществ на рабочего, их состав

ТК

2.16.Концентрация вредных веществ в воздухе рабочей зоны

2.17.Запыленность воздуха

ТК

2.18.Напряженность электромагнитного, магнитного, электростатического полей:

Электрическая составляющая, В/м

Магнитная составляющая, А/м

10

0,3

10

0,3

[1 пр. 3]

[1 пр. 3]

2.19.Доля ионизирующего излучения, мкР/ч

2.20.Уровень шума, дБа:

Ультразвука

Инфразвука

60

60

[5, 1 пр.19]

2.21.Уровень вибрации

2.22.Санитарная характеристика производственного процесса

4

4

[21, 12]

2.23.Санитарно-бытовые помещения

Требования вед. нормат. документов

2.24.Геометрические параметры рабочего места:

Площадь на 1-ого рабочего, м2

Объем на 1-ого рабочего, м3

Высота помещения, м

7

20

3

6

[21]

2.27.Биологические факторы

ТК

3.Опасные производственные факторы.

3.1.Высота рабочего места

ТК

3.6.Применяемые напряжения, В

220~

220~

Паспорт

3.8.Взрывоопасные смеси

ТК

3.9.Вода, воздух, пар, газ под давлением

ТК

3.10.Пожароопасные вещества и материалы

ТК

3.11.Шум, вибрация опасных значений

ТК

3.12.Перечень опасных зон

3.13.Температура рабочих поверхностей

ТК

4.Источники загрязнения окружающей среды

4.1.Выбросы в атмосферу, их характеристика

ТК

4.2.Сбросы в сточные воды, их характеристика

ТК

4.3.Энергктические загрязнители:

Инфразвук, дБ

Вибрации, дБ

Шум, дБа

Электромагнитные поля, кВ/м; А/м

Инфракрасное излучение, Вт/м2

+

+

+

+

+

+

ТК

4.4.Ионизирующее излучение, мкР/ч

ТК

4.5.Загрязнение почвы (отходы, их характеристика)

ТК

5.Причины аварий и ЧС

5.1.Причины аварий на проектируемом объекте

Короткое замыкание

Короткое замыкание

ТК

5.2.Причины ЧС

Пожар, ядерный взрыв

Пожар, ядерный взрыв

Примечание: наличие фактора отмечается знаком “+”, отсутствие — знаком “—”.

5.4Оценка условий труда по степени вредности и опасности.

Анализ условий труда по степени вредности и опасности приведен на основе соответствующих нормативных документов по четырем классам условий труда.

К 1-му классу условий труда относятся факторы условий труда, показатели которых находятся в оптимальных значениях параметров. Эти условия не представляют никакой опасности для жизнедеятельности человека и благоприятствуют его активной рабочей деятельности.

К 2-му классу условий труда относятся условия жизнедеятельности человека, находящиеся в допустимых значениях параметров различных факторов. Эти условия также не представляют опасности для жизнедеятельности человека.

Классы 3 и 4 являются вредными и опасными для жизнедеятельности человека, т.к. представляют непосредственную опасность для его здоровой и долгой жизни.

Оценка напряженности трудового процесса (таблица 6.4.1.):

Наименование фактора

Значение

Класс

1. Интеллектуальные нагрузки:

1.1. Содержание работы.

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

3.2

1.2. Восприятие сигналов и их оценка.

Восприятие сигналов, не требуется коррекция действий.

1

1.3. Степень сложности задания.

Обработка, выполнение задания и его проверка.

2

1.4. Характер выполняемой работы.

Работа по индивидуальному плану.

1

2. Сенсорные нагрузки:

2.1. Длительность сосредото-ченного наблюдения (%)

50

2

2.4. Нагрузка на зрительный анализатор:

2.4.1. Размер объекта различения.

Более 5 мм

1

2.4.3. Наблюдение за экранами видеотерминалов(ч/смену).

Более 5 часов

3.2

3. Эмоциональные нагрузки:

3.1. Степень ответственности, значимость ошибки.

Несет ответственность за выполнение отдельных элементов задачи.

1

5. Режим работы.

5.1. Фактическая продолжительность рабочего дня.

8-9 часов

2

5.2. Сменность работы.

Односменная работа (без ночной смены)

1

Общая оценка:

3.2

Таблица 6.4.2.

Фактор

Классы условий труда

1 кл.— оптимальный

2 кл.— допустимый

3 Класс — вредный

4 кл.— опасный

3.1.

1 ст.

3.2.

2 ст.

3.3.

3 ст.

3.4.

4 ст.

Химический

Биологический

Физический

Аэрозоли

Шум

Вибрация локальная

Вибрация общая

Инфразвук

Ультразвук

ЭМИ

Микроклимат

Освещенность

Ионизирующие излучение

Тяжесть труда

Напряженность труда (таблица 6.4.1.)

Общая оценка условий труда

Вывод: проведенная оценка условий труда по степени вредности и опасности показала, что на данном рабочем месте (ОАО “УКБП”) не все условия жизнедеятельности человека находятся в допустимых значениях. На основании таблицы 6.4.1. можно сделать вывод, что в основе причин возникновения вредных факторов лежат длительное наблюдение за экранами ВДТ и творческая работа. Чтобы уменьшить воздействие данных факторов необходимо более часто проводить всевозможные разминки для глаз, а так же разделить творческую работу и работу за ПЭВМ.

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

Список литературы

  1. СанПиН 2.2.2.542-96. Гигиенические требования к видеодисплейным терминалам, персональным электронно-вычислительным машинам и организации работы. - М.: Информационно-издательский центр Госкомсанэпиднадзора России, 1996.-64с.

  2. Правила технической эксплуатации электроустановок потребителей и правила техники безопасности при эксплуатации электроустановок потребителей. - М.: Энергоатомиздат, 1989.

  3. Руководство по контролю безопасности труда на рабочих местах с дисплеями на электронно-лучевых трубках. - М.: МИОТ, 1992.

  4. ГОСТ 12.0.003-74. ССБТ. Опасные и вредные производственные факторы. Классификация. - М.: Изд-во стандартов, 1974.

  5. ГОСТ 12.1.003-83*. ССБТ. Шум. Общие требования безопасности. - М.: Изд-во стандартов, 1983.

  6. ГОСТ 12.1.005-88. ССБТ. Общие санитарно-гигиенические требования к воздуху рабочей зоны - М.: Издательство стандартов, 1988.

  7. ГОСТ 12.1.006-84*. ССБТ. Электромагнитные поля радиочастот. Допустимые уровни на рабочих местах и требования к проведению контроля. - М.: Изд-во стандартов, 1984.

  8. ГОСТ 12.1.009-76. ССБТ. Электробезопасность. Термины, определения. - М.: Издательство стандартов, 1978.

  9. ГОСТ 12.1.045-84. ССБТ. Электростатические поля. Допустимые уровни на рабочих местах и требования к проведению контроля. - М.: Изд-во стандартов,1984.

  10. ГОСТ 12.2.006-87. ССБТ. Аппаратура радиоэлектронная бытовая. Требования безопасности и методы испытания. - М.: Изд-во стандартов, 1987.

  11. ГОСТ 27954-88. Электромагнитное излучение: рентгеновское, ультрафиолетовое для видеотерминала. Санитарно-гигиенические требования. - М.: Изд-во стандартов, 1988.

  12. СН 512-78. Инструкция по проектированию зданий и помещений для электронно-вычислительных машин. - М.: Стройиздат, 1979.

  13. СН 4559-88. Временные санитарные нормы и правила для работников вычислительных центров. - М.: Минздрав СССР, 1988.

  14. СНиП II-4-79 (с изменениями). Естественное и искусственное освещение. Нормы проектирования // Светотехника, 1991. N6.

  15. СН 245-71. Санитарные нормы проектирования промышленных предприятий. – М.: Стройиздат, 1971.

  16. ОНТП 24-86. Общесоюзные нормы технологического проектирования. Определение категорий помещений и зданий по взрыво- и пожароопасности. – М.: МВД СССР 1986.

  17. Правила устройства электроустановок Минэнерго СССР – М .: Энергоатомиздат, 1987.

  18. Список производств, профессий и должностей с вредными условиями труда, работа с которыми дает право на дополнительный отпуск и сокращенный рабочий день. / ВЦСПС – М.: Экономика, 1977.

  19. Сборник нормативных актов по пенсионному обеспечению. – М.: Экономика, 1992.

  20. О проведении обязательных предварительных при поступлении на работу и переодичность медицинских осмотрах трудящихся, подвергающихся воздействию вредных и неблагоприятных условий труда. Приказ №555 от 29.09.89г. – М.: Минздрав СССР, 1989.

  21. СНиП 2.09.04-87. Административные и бытовые здания. — М.: Стройиздат, 1998.

  22. СН 4088-86. Санитарные нормы микроклимата производственных помещений. – М.: Минздрав СССР, 1986.

  23. Однокристальные микроЭВМ. М.:МИКАП,1994.-400с.

  24. Сташин В.А., Урусов А.В., Мологонцева О.Ф. Проектирование цифровых устройств на однокристальных микроконтроллерах. - М.:Энергоатомиздат, 1990.-224с.

  25. «Универсальные языки программирования. Семантический подход», Калинин А., Мацкевич И., -М.: Радио и связь, 1991

  26. Балашов Е.П., Пузанков Д.В. Микропроцессоры и микропроцессорные системы. - М.: Радио и связь, 1981. -326 с.

  27. Каган Б.М., Сташин В.В. Микропроцессоры в цифровых системах. - М.: Энергия, 1979. -192 с.

  28. Соучек Б. Микропроцессоры и микро-ЭВМ. - М.: Советское радио, 979. -192с.

  29. Григорьев В.Л. Программное обеспечение микропроцессорных систем. - М.: Энергоатомиздат, 1983. -208 с.

  30. Микропроцессоры: системы программирования и отладки. Под ред. В.А.Мясникова, М.Б.Игнатьева. - М.: Энергоатомиздат, 1985. - 272 с.

  31. Смагин А.А., Негода В.Н., Скворцов С.В. Проектирование и сопровождение микропроцессорных систем. - Саратов: СГУ,1987. -100с.

  32. Интегральные микросхемы: Микросхемы для телевидения и видеотехники. Том 2, Выпуск 1 - М.:ДОДЭКА, 1993г.,314 с.

Приложение 1. Основная программа.

#include <8051.h>

#include

#include

/* 206 => 0x61 207 => 0xE1 271=>9D */

const int speed=172; /* это должно быть 200 */

const int test_speed=2; /* 0.5==2 */

static int a @ 0x18;

/* static int flag @ 0x18;*/

/* static int flag1 @ 0x1a;*/

static bit unsigned char Usvic_Ok @ 0x50;

static bit unsigned char PK_Vpr @ 0x51;

static bit unsigned char Vpr_Ok @ 0x52;

static bit unsigned char Vmd_Ok @ 0x53;

static bit unsigned char PO_Ok @ 0x54;

/*--- номер выводимого параметра 0=Sl206,1=Sl207,2=Sl271 -*/

static unsigned char NomParam @ 0x1c;

static unsigned char BaitV @ 0x2a;

/*------------Выходное слово SlVmd 206 ------------------*/

static unsigned long SlVmd @ 0x10;

static unsigned char SlVmd_1 @ 0x10;

static unsigned char SlVmd_2 @ 0x11;

static unsigned char SlVmd_3 @ 0x12;

static unsigned char SlVmd_4 @ 0x13;

/*------------Выходное слово SlVpr 207 -------------------*/

static unsigned long SlVpr @ 0x3c;

static unsigned char SlVpr_1 @ 0x3c;

static unsigned char SlVpr_2 @ 0x3d;

static unsigned char SlVpr_3 @ 0x3e;

static unsigned char SlVpr_4 @ 0x3f;

/*------------Выходное слово SlDs 271 --------------------*/

static unsigned long SlDs @ 0x38;

static unsigned char SlDs_1 @ 0x38;

static unsigned char SlDs_2 @ 0x39;

static unsigned char SlDs_3 @ 0x3a;

static unsigned char SlDs_4 @ 0x3b;

/*------------Выходное слово для ЦАП CapSlowo -------------*/

static unsigned int CapSlowo @ 0x28;

static unsigned char CapSlowo0 @ 0x28;

static unsigned char CapSlowo1 @ 0x29;

/*------- Рабочая область стеков ------------------*/

/* static unsigned long Stec @ 0x28;*/

static bit unsigned char Test_Pr @ 0x40;

/*--------- Сохранение переведенных скоростей ----------------*/

static unsigned int StecVprd @ 0x30;

static unsigned int StecVmdd @ 0x32;

/*--------- Int вводимых скорости ----------------------------*/

static unsigned int Vprg @ 0x20;

static unsigned int Vmdg @ 0x24;

/*--------- Int переведенных скорости ------------------------*/

static unsigned int Vprd @ 0x22;

static unsigned int Vmdd @ 0x26;

/*------- Рабочее слово SlRab -------------------------*/

static unsigned long SlRab @ 0x2c;

static unsigned char SlRab_4 @ 0x2c;

static unsigned char SlRab_3 @ 0x2d;

static unsigned char SlRab_2 @ 0x2e;

static unsigned char SlRab_1 @ 0x2f;

static unsigned char Adress @ 0x2f;/* адреса (206/207/271)*/

static bit unsigned char SlRab_bit31 @ 0x67;

static bit unsigned char SlRab_bit30 @ 0x66;

static bit unsigned char SlRab_bit29 @ 0x65;

static bit unsigned char SlRab_bit28 @ 0x64;

static bit unsigned char SlRab_bit27 @ 0x63;

static bit unsigned char SlRab_bit26 @ 0x62;

static bit unsigned char SlRab_bit25 @ 0x61;

static bit unsigned char SlRab_bit24 @ 0x60;

static bit unsigned char SlRab_bit23 @ 0x6f;

static bit unsigned char SlRab_bit22 @ 0x6e;

static bit unsigned char SlRab_bit21 @ 0x6d;

static bit unsigned char SlRab_bit20 @ 0x6c;

static bit unsigned char SlRab_bit19 @ 0x6b;

static bit unsigned char SlRab_bit18 @ 0x6a;

static bit unsigned char SlRab_bit17 @ 0x69;

static bit unsigned char SlRab_bit16 @ 0x68;

static bit unsigned char SlRab_bit15 @ 0x77;

static bit unsigned char SlRab_bit14 @ 0x76;

static bit unsigned char SlRab_bit13 @ 0x75;

static bit unsigned char SlRab_bit12 @ 0x74;

static bit unsigned char SlRab_bit11 @ 0x73;

static bit unsigned char SlRab_bit10 @ 0x72;

static bit unsigned char SlRab_bit9 @ 0x71;

static bit unsigned char SlRab_bit8 @ 0x70;

static bit unsigned char SlRab_bit7 @ 0x7f;

static bit unsigned char SlRab_bit6 @ 0x7e;

static bit unsigned char SlRab_bit5 @ 0x7d;

static bit unsigned char SlRab_bit4 @ 0x7c;

static bit unsigned char SlRab_bit3 @ 0x7b;

static bit unsigned char SlRab_bit2 @ 0x7a;

static bit unsigned char SlRab_bit1 @ 0x79;

static bit unsigned char SlRab_bit0 @ 0x78;

/*-- Входные битовые Скорость Vpr Grey -----------------------*/

static bit unsigned char Vprg_bit9 @ 0x01;

static bit unsigned char Vprg_bit8 @ 0x00;

static bit unsigned char Vprg_bit7 @ 0x0f;

static bit unsigned char Vprg_bit6 @ 0x0e;

static bit unsigned char Vprg_bit5 @ 0x0d;

static bit unsigned char Vprg_bit4 @ 0x0c;

static bit unsigned char Vprg_bit3 @ 0x0b;

static bit unsigned char Vprg_bit2 @ 0x0a;

static bit unsigned char Vprg_bit1 @ 0x09;

static bit unsigned char Vprg_bit0 @ 0x08;

/*-- Выходные битовые Скорость Vpr Din -----------------------*/

static bit unsigned char Vprd_bit9 @ 0x11;

static bit unsigned char Vprd_bit8 @ 0x10;

static bit unsigned char Vprd_bit7 @ 0x1f;

static bit unsigned char Vprd_bit6 @ 0x1e;

static bit unsigned char Vprd_bit5 @ 0x1d;

static bit unsigned char Vprd_bit4 @ 0x1c;

static bit unsigned char Vprd_bit3 @ 0x1b;

static bit unsigned char Vprd_bit2 @ 0x1a;

static bit unsigned char Vprd_bit1 @ 0x19;

static bit unsigned char Vprd_bit0 @ 0x18;

/*-- Входные битовые Скорость Vmd Grey -----------------------*/

static bit unsigned char Vmdg_bit9 @ 0x21;

static bit unsigned char Vmdg_bit8 @ 0x20;

static bit unsigned char Vmdg_bit7 @ 0x2f;

static bit unsigned char Vmdg_bit6 @ 0x2e;

static bit unsigned char Vmdg_bit5 @ 0x2d;

static bit unsigned char Vmdg_bit4 @ 0x2c;

static bit unsigned char Vmdg_bit3 @ 0x2b;

static bit unsigned char Vmdg_bit2 @ 0x2a;

static bit unsigned char Vmdg_bit1 @ 0x29;

static bit unsigned char Vmdg_bit0 @ 0x28;

/*-- Выходные битовые Скорость Vmd Din -----------------------*/

static bit unsigned char Vmdd_bit9 @ 0x31;

static bit unsigned char Vmdd_bit8 @ 0x30;

static bit unsigned char Vmdd_bit7 @ 0x3f;

static bit unsigned char Vmdd_bit6 @ 0x3e;

static bit unsigned char Vmdd_bit5 @ 0x3d;

static bit unsigned char Vmdd_bit4 @ 0x3c;

static bit unsigned char Vmdd_bit3 @ 0x3b;

static bit unsigned char Vmdd_bit2 @ 0x3a;

static bit unsigned char Vmdd_bit1 @ 0x39;

static bit unsigned char Vmdd_bit0 @ 0x38;

/*------------------------------------------------------------------------*/

/* Процедура записи бита четности для SlRab */

/*------------------------------------------------------------------------*/

void CalcChetSl(void){

SlRab_bit31=1;

SlRab_bit31=SlRab_bit31^SlRab_bit0^SlRab_bit1^SlRab_bit2;

SlRab_bit31=SlRab_bit31^SlRab_bit3^SlRab_bit4^SlRab_bit5;

SlRab_bit31=SlRab_bit31^SlRab_bit6^SlRab_bit7^SlRab_bit8;

SlRab_bit31=SlRab_bit31^SlRab_bit9^SlRab_bit10^SlRab_bit11;

SlRab_bit31=SlRab_bit31^SlRab_bit12^SlRab_bit13^SlRab_bit14;

SlRab_bit31=SlRab_bit31^SlRab_bit15^SlRab_bit16^SlRab_bit17;

SlRab_bit31=SlRab_bit31^SlRab_bit18^SlRab_bit19^SlRab_bit20;

SlRab_bit31=SlRab_bit31^SlRab_bit21^SlRab_bit22^SlRab_bit23;

SlRab_bit31=SlRab_bit31^SlRab_bit24^SlRab_bit25^SlRab_bit26;

SlRab_bit31=SlRab_bit31^SlRab_bit27^SlRab_bit28^SlRab_bit29;

SlRab_bit31=SlRab_bit31^SlRab_bit30;

}

/*------------------------------------------------------------------------*/

/* Процедура перевода из грея в двоичную допустимую скорость */

/*------------------------------------------------------------------------*/

void Perevod_Md(void){

Vmdd=0;

Vmdd_bit9=Vmdg_bit9;

Vmdd_bit8=Vmdg_bit8^Vmdd_bit9;

Vmdd_bit7=Vmdg_bit7^Vmdd_bit8;

Vmdd_bit6=Vmdg_bit6^Vmdd_bit7;

Vmdd_bit5=Vmdg_bit5^Vmdd_bit6;

Vmdd_bit4=Vmdg_bit4^Vmdd_bit5;

Vmdd_bit3=Vmdg_bit3^Vmdd_bit4;

Vmdd_bit2=Vmdg_bit2^Vmdd_bit3;

Vmdd_bit1=Vmdg_bit1^Vmdd_bit2;

Vmdd_bit0=Vmdg_bit0^Vmdd_bit1;

}

/*------------------------------------------------------------------------*/

/* Процедура перевода из грея в двоичную предельную скорость */

/*------------------------------------------------------------------------*/

void Perevod_Pr(void){

Vprd=0;

Vprd_bit9=Vprg_bit9;

Vprd_bit8=Vprg_bit8^Vprd_bit9;

Vprd_bit7=Vprg_bit7^Vprd_bit8;

Vprd_bit6=Vprg_bit6^Vprd_bit7;

Vprd_bit5=Vprg_bit5^Vprd_bit6;

Vprd_bit4=Vprg_bit4^Vprd_bit5;

Vprd_bit3=Vprg_bit3^Vprd_bit4;

Vprd_bit2=Vprg_bit2^Vprd_bit3;

Vprd_bit1=Vprg_bit1^Vprd_bit2;

Vprd_bit0=Vprg_bit0^Vprd_bit1;

}

/*------------------------------------------------------------------------*/

/* Процедура расстановки состояний */

/*------------------------------------------------------------------------*/

void Priznak_Work(bit unsigned char a,bit unsigned char b){

SlRab_bit30=a;

SlRab_bit29=b;

}

/*------------------------------------------------------------------------*/

/* Процедура расстановки идентифткатора */

/*------------------------------------------------------------------------*/

void Priznak_Usvic(viod){

SlRab_bit8=0;/* Признак */

SlRab_bit9=1;/* от УСВИЦ-250 */

}

/*------------------------------------------------------------------------*/

/* Процедура имтация входных данных */

/*------------------------------------------------------------------------*/

void ImVxodMd(void){

Vmdg=344;

}

/*------------------------------------------------------------------------*/

/* Процедура имтация входных данных */

/*------------------------------------------------------------------------*/

void ImVxodPr(void){

Vprg=172;

}

/*------------------------------------------------------------------------*/

/* Процедура проверки на отказ Vmd */

/*------------------------------------------------------------------------*/

void Cikl_Otkaz_Vmd(void){

int c=3,St;

Vmd_Ok=0;

T1=0;

do

{

/* vvodvmd();*/

ImVxodMd(); /* имитация входа */

Perevod_Md();/* перевод из грея в двоичную */

St=StecVmdd;

if ((St+test_speed>Vmdd)&&(St-test_speed

{

StecVmdd=Vmdd;

break;

}

if (c==0)

{

Vmd_Ok=1;

T1=1;

break;

}

c--;

}

while(c>(-1));

}

/*------------------------------------------------------------------------*/

/* Процедура проверки на отказ Vpr */

/*------------------------------------------------------------------------*/

void Cikl_Otkaz_Vpr(void){

int b=3,St;

Vpr_Ok=0;

RXD=0;

do

{

/* vvodvpr(); */

ImVxodPr(); /* имитация входа */

Perevod_Pr();/* перевод из грея в двоичную */

St=StecVprd;

if ((St+test_speed>Vprd)&&(St-test_speed

{

StecVprd=Vprd;

break;

}

if (b==0)

{

Vpr_Ok=1;

RXD=1;

break;

}

b--;

}

while(b>(-1));

}

/*------------------------------------------------------------------------*/

/* Процедура маштабирование для ЦАП с соответствием 1==0.63 */

/*------------------------------------------------------------------------*/

void Machtab(unsigned int V1){

double rab1;

rab1=(double)V1;

rab1*=0.63;

CapSlowo=0;

CapSlowo=(unsigned int)rab1;

CapSlowo0<<=6;

}

/*------------------------------------------------------------------------*/

/* Процедура формирование слова с соответствием с РТМ */

/*------------------------------------------------------------------------*/

void FormPTM(unsigned int V1){

double rab2;

SlRab=0;

rab2=(double)V1;

rab2/=0.11575;

SlRab=(unsigned long)rab2;

rab2-=(double)SlRab;

if (rab2>0.5) SlRab++;

SlRab<<=12;

}

/*------------------------------------------------------------------------*/

/* Процедура тест контроля ПО */

/*------------------------------------------------------------------------*/

void TestControlPO(void){

int Vprd1=0,Vmdd1=0,Vprg1=0,Vmdg1=0;

PO_Ok=Vmd_Ok=Vpr_Ok=0;

Vprg1=Vprg; /* сохраняем Vprg */

Vmdg1=Vmdg; /* сохраняем Vmdg */

Vprd1=Vprd; /* сохраняем Vprd */

Vmdd1=Vmdd; /* сохраняем Vmdd */

Vmdg=Vprg=speed;

Perevod_Md();

Perevod_Pr();

if (Vmdd!=200) { PO_Ok=1; Vmd_Ok=1; }

if (Vprd!=200) { PO_Ok=1; Vpr_Ok=1; }

/*----------------------------- 206 --------------------------------------*/

SlRab=0;

FormPTM(Vprd);

Adress=0x61;

Priznak_Usvic();/* признак от УСВИЦ-250 */

Priznak_Work(1,0);/* признак тест */

CalcChetSl();/* Подсчет четности */

if(SlRab!=1080820321) { PO_Ok=1; Vpr_Ok=1; }

/*----------------------------- 207 --------------------------------------*/

SlRab=0;

FormPTM(Vmdd);

Adress=0xe1;

Priznak_Usvic();/* признак от УСВИЦ-250 */

Priznak_Work(1,0);/* признак тест */

CalcChetSl();/* Подсчет четности */

if(SlRab!=3228304097) { PO_Ok=1; Vmd_Ok=1; }

SlRab=0;

/*------------------- востанавливаем состояния --------------------------*/

Vprg=Vprg1; /* востанавливаем Vprg */

Vmdg=Vmdg1; /* востанавливаем Vmdg */

Vprd=Vprd1; /* востанавливаем Vprd */

Vmdd=Vmdd1; /* востанавливаем Vmdd */

}

/*------------------------------------------------------------------------*/

/* Процедура проверки скорости < 50км(200), => - нет вычисленных данных */

/*------------------------------------------------------------------------*/

void If_Speed(unsigned int V){

if(V<200) Priznak_Work(0,1); /* признак нет вычисленных данных */

}

/*------------------------------------------------------------------------*/

/* Запуск таймера */

/*------------------------------------------------------------------------*/

void Zapusk(void){

/*---------- Чистка рабочих областей параметров--------------*/

SlRab=0;NomParam=0;

/*------------- Запуск таймера --------------------------*/

asm(" mov TCON,#1 ");

asm(" anl IP,#0 ");

asm(" orl IP,#2 ");

asm(" mov TMOD,#01 ");

asm(" mov a,#0eah "); /* число для загрузки таймера */

asm(" mov TH0,a "); /* 65536-20*36-685+67, где старшая часть */

asm(" mov a,#0d3h "); /* равна eah, а младшая - d3h */

asm(" mov TL0,a ");

asm(" setb TCON.4 ");

asm(" anl IE,#0 ");

asm(" orl IE,#82h ");

}

/*------------------------------------------------------------------------*/

/* Процедура растановки признаков проверок */

/*------------------------------------------------------------------------*/

void Priznak_Test(void){

if((PK_Vpr==0) && (Vpr_Ok==0) && (Vmd_Ok==0) && (PO_Ok==0))

SlRab_bit28=0;

else SlRab_bit28=1;

SlRab_bit27=PK_Vpr;

SlRab_bit26=Vpr_Ok;

SlRab_bit25=Vmd_Ok;

SlRab_bit24=PO_Ok;

}

/*------------------------------------------------------------------------*/

/* Процедура разовой команды ТЕСТ КОНТРОЛЬ */

/*------------------------------------------------------------------------*/

void Test_Kontrol(void){

int V=0;

/* vvodvmd(); */

ImVxodMd(); /* имитация входа Vmd */

Perevod_Md(); /* перевод из грея в двоичную */

/* vvodvpr();*/

ImVxodPr(); /* имитация входа Vmd */

Perevod_Pr(); /* перевод из грея в двоичную */

/*----------------- Сохраняем тестовое значение --------------------------*/

V=Vprd;

/*----------------- Прабавляем тестовое значение -------------------------*/

Vprd+=166*4;

/*----------------- Тест на наличие Vmd >= Vpr ---------------------------*/

if(Vprd>=Vmdd) { RXD=0; PK_Vpr=1; }

else { RXD=1; PK_Vpr=0; }

/*----------------- Отнимаем тестовое значение ---------------------------*/

Vprd-=166*4;

/*----------------- Востанавливаем тестовое значение ---------------------*/

Vprd=V;

/*----------------- Маштабирование Vprd ----------------------------------*/

Machtab(StecVprd);

VivodCapSl();

/*------------- копируем в поле 271 функциональный тест -----------------*/

SlRab=0;

Priznak_Work(1,0);/* признак функциональный тест */

CalcChetSl(); /* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlDs_1=SlRab_1;

SlDs_2=SlRab_2;

SlDs_3=SlRab_3;

SlDs_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*------------- копируем в поле 206 функциональный тест -----------------*/

SlRab=0;

Priznak_Work(1,0);/* признак функциональный тест */

CalcChetSl(); /* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlVpr_1=SlRab_1;

SlVpr_2=SlRab_2;

SlVpr_3=SlRab_3;

SlVpr_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*------------- копируем в поле 207 функциональный тест -----------------*/

SlRab=0;

Priznak_Work(1,0);/* признак функциональный тест */

CalcChetSl(); /* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlVmd_1=SlRab_1;

SlVmd_2=SlRab_2;

SlVmd_3=SlRab_3;

SlVmd_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*----------------- Тест Контроль программы ------------------------------*/

TestControlPO();

/*-------- Формирование дискретного 271 слова ----------------------------*/

SlRab=0;

Adress=0x9d;/* адрес слова 271 */

Priznak_Test();/* растановка признаков тестирования в слове */

Priznak_Usvic();/* признак от УСВИЦ-250 */

CalcChetSl();/* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlDs_1=SlRab_1;

SlDs_2=SlRab_2;

SlDs_3=SlRab_3;

SlDs_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*------ Формирование 206 слова в соответствии с РТМ, изм,3 для Vpr ------*/

SlRab=0;

FormPTM(StecVprd);

Adress=0x61;/* адрес слова 206 */

Priznak_Usvic();/* признак от УСВИЦ-250 */

Priznak_Work(1,1);/* признак нормальной работы */

If_Speed(Vprd);/* проверка на < 50км */

if ((Vpr_Ok==1)||(PO_Ok==1)) Priznak_Work(0,0);/* отказе */

CalcChetSl();/* подсчет четности */

/*------------- Копирование параметров в область вывода ------------------*/

asm(" clr TCON.4 ");/* остановка таймера */

SlVpr_1=SlRab_1;

SlVpr_2=SlRab_2;

SlVpr_3=SlRab_3;

SlVpr_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*----- Формирование 207 слова в соответствии с РТМ, изм,3 для Vmd ------*/

SlRab=0;

FormPTM(StecVmdd);

Adress=0xe1;/* адрес слова 207 */

Priznak_Usvic();/* признак от УСВИЦ-250 */

Priznak_Work(1,1);/* признак нормальной работы */

If_Speed(Vmdd); /* проверка на < 50км */

if ((Vmd_Ok==1)||(PO_Ok==1)) Priznak_Work(0,0);/* отказе */

CalcChetSl();/* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlVmd_1=SlRab_1;

SlVmd_2=SlRab_2;

SlVmd_3=SlRab_3;

SlVmd_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

SlRab=0;

/*-------- Сброс сторожевого таймера -------------------------------------*/

TXD=0;

TXD=1;

}

/*------------------------------------------------------------------------*/

/* Процедура очистки переменных */

/*------------------------------------------------------------------------*/

void Clear(void){

StecVmdd=StecVprd=0;

Vprd=Vmdd=Vprg=Vmdg=0;

SlRab=SlVmd=SlVpr=SlDs=CapSlowo=0;

SlRab=0;

}

/*************************************************************************/

/* Н А Ч А Л О П Р О Г Р А М М Ы /

/*************************************************************************/

void main(void)

{

/*---------- Запуск таймера на вывод -------------------------------------*/

set_vector(TIMER0,Timer);

Zapusk();

/*-------- Сброс сторожевого таймера -------------------------------------*/

TXD=0;

TXD=1;

/*----------------- Обнуление данных -------------------------------------*/

Clear();

/*------------------------ Вывод на ЦАП ----------------------------------*/

Machtab(StecVprd);

VivodCapSl();

/*--------- Подготовка вывода 206 слова ----------------------------------*/

SlRab=0;

Adress=0x61;

Priznak_Usvic();/* признак от УСВИЦ-250 */

Priznak_Work(0,1);/* признак нет вычисленных данных */

CalcChetSl();/* Подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlVmd_1=SlRab_1;

SlVmd_2=SlRab_2;

SlVmd_3=SlRab_3;

SlVmd_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*--------- Подготовка вывода 207 слова ----------------------------------*/

SlRab=0;

Adress=0xe1;

Priznak_Usvic();/* признак от УСВИЦ-250 */

Priznak_Work(0,1);/* признак нет вычисленных данных */

CalcChetSl();/* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlVpr_1=SlRab_1;

SlVpr_2=SlRab_2;

SlVpr_3=SlRab_3;

SlVpr_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*--------- Заполнение начальными данными Vpr и Vmd ----------------------*/

a=3;

do {

/* vvodvmd(); */

ImVxodMd(); /* имитация входа Vmd */

Perevod_Md(); /* перевод из грея в двоичную */

StecVmdd=Vmdd; /* Сохранение Vmd.*/

/* vvodvpr();*/

ImVxodPr(); /* имитация входа Vpr */

Perevod_Pr(); /* перевод из грея в двоичную */

StecVprd=Vprd; /*Сохранение Vpr */

a--; }

while (a>0);

Nach: {

/*-------- Сброс сторожевого таймера -------------------------------------*/

TXD=0;

TXD=1;

/*-------------------- Обновление данных Vpr и Vmd -----------------------*/

/* vvodvmd();*/

ImVxodMd(); /* имитация входа Vmd */

Perevod_Md(); /* перевод из грея в двоичную */

StecVmdd=Vmdd; /*Сохранение Vм.д.*/

/* vvodvpr();*/

ImVxodPr(); /* имитация входа Vpr */

Perevod_Pr(); /* перевод из грея в двоичную */

StecVprd=Vprd; /*Сохранение Vпр.д.*/

/*----------------- Цикл проверки на отказ Vmd ---------------------------*/

Cikl_Otkaz_Vmd();

/*----------------- Цикл проверки на отказ Vpr ---------------------------*/

Cikl_Otkaz_Vpr();

/*----------------- Тест на наличие РК "ТК" ------------------------------*/

/* {*/

/* if(INT0==1) Test_Kontrol();*/

/* }*/

/* while(INT0==1)*/

/*----------------- Тест на наличие Vmd >= Vpr --------------------------*/

if(Vprd>=Vmdd) { RXD=0; PK_Vpr=1; }

else { RXD=1; PK_Vpr=0; }

/*----------------- Маштабирование Vprd ---------------------------------*/

Machtab(StecVprd);

VivodCapSl();

/*------------- копируем в поле 271 функциональный тест ----------------*/

SlRab=0;

Priznak_Work(1,0);/* признак функциональный тест */

CalcChetSl(); /* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlDs_1=SlRab_1;

SlDs_2=SlRab_2;

SlDs_3=SlRab_3;

SlDs_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*------------- копируем в поле 206 функциональный тест ----------------*/

SlRab=0;

Priznak_Work(1,0);/* признак функциональный тест */

CalcChetSl(); /* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlVpr_1=SlRab_1;

SlVpr_2=SlRab_2;

SlVpr_3=SlRab_3;

SlVpr_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*------------- копируем в поле 207 функциональный тест ----------------*/

SlRab=0;

Priznak_Work(1,0);/* признак функциональный тест */

CalcChetSl(); /* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlVmd_1=SlRab_1;

SlVmd_2=SlRab_2;

SlVmd_3=SlRab_3;

SlVmd_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*----------------- Тест Контроль программы -----------------------------*/

TestControlPO();

/*-------- Формирование дискретного 271 слова ----------------------------*/

SlRab=0;

Adress=0x9d;/* адрес слова 271 */

Priznak_Test();/* растановка признаков тестирования в слове */

Priznak_Usvic();/* признак от УСВИЦ-250 */

CalcChetSl();/* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlDs_1=SlRab_1;

SlDs_2=SlRab_2;

SlDs_3=SlRab_3;

SlDs_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*------ Формирование 206 слова в соответствии с РТМ, изм,3 для Vpr ------*/

SlRab=0;

FormPTM(StecVprd);

Adress=0x61;/* адрес слова 206 */

Priznak_Usvic();/* признак от УСВИЦ-250 */

Priznak_Work(1,1);/* признак нормальной работы */

If_Speed(Vprd);/* проверка на < 50км */

if ((Vpr_Ok==1)||(PO_Ok==1)) Priznak_Work(0,0);/* отказ */

CalcChetSl();/* подсчет четности */

/*------------- Копирование параметров в область вывода -----------------*/

asm(" clr TCON.4 ");/* остановка таймера */

SlVpr_1=SlRab_1;

SlVpr_2=SlRab_2;

SlVpr_3=SlRab_3;

SlVpr_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

/*----- Формирование 207 слова в соответствии с РТМ, изм,3 для Vmd -----*/

SlRab=0;

FormPTM(StecVmdd);

Adress=0xe1;/* адрес слова 207 */

Priznak_Usvic();/* признак от УСВИЦ-250 */

Priznak_Work(1,1);/* признак нормальной работы */

If_Speed(Vmdd); /* проверка на < 50км */

if ((Vmd_Ok==1)||(PO_Ok==1)) Priznak_Work(0,0);/* отказ */

CalcChetSl();/* подсчет четности */

asm(" clr TCON.4 ");/* остановка таймера */

SlVmd_1=SlRab_1;

SlVmd_2=SlRab_2;

SlVmd_3=SlRab_3;

SlVmd_4=SlRab_4;

asm(" setb TCON.4 ");/* запуск таймера */

SlRab=0;

/*-------------------- G O T O -> N A C H ---------------------------*/

}

goto Nach;

}

Приложение 2. Программы вывода слов в магистраль.

defseg c_text,class=code

seg c_text

int38T equ 65535-80*36-80*32-67+33+54

BaitV equ 2ah ; адрес выводного байта 28

Bit6V equ 51h ; Bit6V прямой вывод бита 80

Bit7V equ 52h ; Bit7V инверсной вывод бита 81

Sl206 equ 10h ; адрес слова 206

Sl207 equ 3ch ; адрес слова 207

Sl271 equ 38h ; адрес слова 271

NomParam equ 1bh ; Номер выводимого параметра 0=Sl206

global _Timer,_Vivod206,_Vivod207;,_Vivod271

_Timer:

PUSH PSW ; время от начала прерывания ___11

CLR TCON.4 ; Останов таймеpа 1

CLR TCON.5 ; Сбpос флага пеpеполнения 1

PUSH 0E0h ; 2

MOV A,#low(int38T) ; Выбоp младшего байта INT_38T 1

MOV TL0,A ; запись в TL0 1

MOV A,#high(int38T) ; Выбоp стаpшего байта INT_38T 1

MOV TH0,A ; запись в TH0 1

SETB TCON.4 ; Запуск таймеpа Т0 1 ___20

MOV BaitV,#0ffh ; 2

MOV A,NomParam ; 1

;--------------------------------------------------------------------- 23

CJNE A,#0,GoPp ; 2

NOP ; 1

NOP ; 1

CALL _Vivod206 ; 2___33

INC NomParam ; 1

JMP GoEnd ; 2

GoPp: CJNE A,#1,GoSl ; 2

CALL _Vivod207 ; 2

INC NomParam ; 1

JMP GoEnd ; 2

GoSl: CALL _Vivod271 ; 2

MOV NomParam,#0 ; 2

NOP ; 1

GoEnd: MOV BaitV,#0h ; 2

POP 0E0h ; 2

POP PSW ; 2

RETI ; 2

;************************************************************************

_Vivod206:

PUSH 0D0H ; 2 mkc

PUSH 0E0H ; 2 mkc

PUSH 0 ; 2 mkc

PUSH 1 ; 2 mkc

PUSH 2 ; 2 mkc

PUSH 3 ; 2 mkc

CLR PSW.3 ; 1 mkc

CLR PSW.4 ; 1 mkc

ORL P0,#0C0H ; 2 mkc

MOV R3,#4 ; 1 mkс Количество пеpесылаемых байт #4

MOV R0,#Sl206 ; 1 mkс

;-------------------------------------------------------------------- 18

Bait206:

MOV A,@R0 ; 1 mkc

MOV R2,#7 ; 1 mkс

Bit206:

RRC A ; 1 mkс

ORL P0,#0ffh ; 2 mkc

;-------------------------------------------------------------------- 0

MOV Bit6V,C ; 2 mkc

MOV Bit7V,C ; 2 mkс

CPL Bit7V ; 1 mkс

MOV R1,#15 ; 1 mkс

Pauza206_0: DJNZ R1,Pauza206_0 ; 2*15=30 mkc 36

NOP ; 1 mkc

NOP ; 1 mkc

MOV P0,BaitV ; 2 mkс 40 63

;-------------------------------------------------------------------- 40

;-------------------------------------------------------------------- 0

MOV R1,#18 ; 1 mkс

Pauza206_1: DJNZ R1,Pauza206_1 ; 2*17=34 mkc

DJNZ R2,Bit206 ; 2 mkс 37

RRC A ; 1 mkс

ORL P0,#0ffh ; 2 mkc

;-------------------------------------------------------------------- 40

;-------------------------------------------------------------------- 0

MOV Bit6V,C ; 2 mkс

MOV Bit7V,C ; 2 mkс

CPL Bit7V ; 1 mkс

MOV R1,#16 ; 1 mkс 6

Pauza206_2: DJNZ R1,Pauza206_2 ; 2*16=32 mkc 38

MOV P0,BaitV ; 2 mkс

;-------------------------------------------------------------------- 40

;-------------------------------------------------------------------- 0

MOV R1,#15 ; 1 mkс 00

Pauza206_3: DJNZ R1,Pauza206_3 ; 2*15=30 mkc 31

INC R0 ; 2 mkc 33

DJNZ R3,Bait206 ; 2 mkс 35

;-------------------------------------------------------------------- 35

NOP ; 1 mkс

NOP ; 1 mkс

NOP ; 1 mkс

ORL P0,#0C0H ; 2 mkc 40

;-------------------------------------------------------------------- 40

;-------------------------------------------------------------------- 0

POP 3 ; 2 mkc

POP 2 ; 2 mkc

POP 1 ; 2 mkc

POP 0 ; 2 mkc

POP 0E0H ; 2 mkc

POP 0D0H ; 2 mkc

RET ; 2 mkc

;-------------------------------------------------------------------- 14

;***************************************************************************

_Vivod207:

PUSH 0D0H ; 2 mkc

PUSH 0E0H ; 2 mkc

PUSH 0 ; 2 mkc

PUSH 1 ; 2 mkc

PUSH 2 ; 2 mkc

PUSH 3 ; 2 mkc

CLR PSW.3 ; 1 mkc

CLR PSW.4 ; 1 mkc

ORL P0,#0C0H ; 2 mkc

;-----------------------------------------------------------------------

MOV R3,#4 ; 1 mkс Количество пеpесылаемых байт #4

MOV R0,#Sl207 ; 1 mkс 18

;-----------------------------------------------------------------------

Bait207:

MOV A,@R0 ; 1 mkc

MOV R2,#7 ; 1 mkс

Bit207:

RRC A ; 1 mkс

ORL P0,#0ffh ; 2 mkc //0

;-----------------------------------------------------------------------

MOV Bit6V,C ; 2 mkc

MOV Bit7V,C ; 2 mkс

CPL Bit7V ; 1 mkс

MOV R1,#15 ; 1 mkс

Pauza207_0: DJNZ R1,Pauza207_0 ; 2*15=30 mkc 36

NOP ; 1 mkc

NOP ; 1 mkc

MOV P0,BaitV ; 2 mkс 40 63

MOV R1,#18 ; 1 mkс 00

Pauza207_1: DJNZ R1,Pauza207_1 ; 2*17=34 mkc

DJNZ R2,Bit207 ; 2 mkс 37

RRC A ; 1 mkс

ORL P0,#0ffh ; 2 mkc 40

;------------------------------------------------------------------------

MOV Bit6V,C ; 2 mkс 00

MOV Bit7V,C ; 2 mkс

CPL Bit7V ; 1 mkс

MOV R1,#16 ; 1 mkс 6

Pauza207_2: DJNZ R1,Pauza207_2 ; 2*16=32 mkc 38

MOV P0,BaitV ; 2 mkс 40

MOV R1,#15 ; 1 mkс 00

Pauza207_3: DJNZ R1,Pauza207_3 ; 2*15=30 mkc 31

;---------------------------------------------------------------------

INC R0 ; 2 mkc 33

DJNZ R3,Bait207 ; 2 mkс 35

NOP

NOP

NOP

ORL P0,#0C0H ; 2 mkc 40

;-------------------------------------------------------------------------

POP 3 ; 2 mkc

POP 2 ; 2 mkc

POP 1 ; 2 mkc

POP 0 ; 2 mkc

POP 0E0H ; 2 mkc

POP 0D0H ; 2 mkc

RET ; 2 mkc

;***************************************************************************

_Vivod271:

PUSH 0D0H ; 2 mkc

PUSH 0E0H ; 2 mkc

PUSH 0 ; 2 mkc

PUSH 1 ; 2 mkc

PUSH 2 ; 2 mkc

PUSH 3 ; 2 mkc

CLR PSW.3 ; 1 mkc

CLR PSW.4 ; 1 mkc

ORL P0,#0C0H ; 2 mkc

MOV R3,#4 ; 1 mkс Количество пеpесылаемых байт #4

MOV R0,#Sl271 ; 1 mkс 18

;-----------------------------------------------------------------------

Bait271:

MOV A,@R0 ; 1 mkc

MOV R2,#7 ; 1 mkс

Bit271:

RRC A ; 1 mkс

ORL P0,#0ffh ; 2 mkc //0

;-----------------------------------------------------------------------

MOV Bit6V,C ; 2 mkc

MOV Bit7V,C ; 2 mkс

CPL Bit7V ; 1 mkс

MOV R1,#15 ; 1 mkс

Pauza271_0: DJNZ R1,Pauza271_0 ; 2*15=30 mkc 36

NOP ; 1 mkc

NOP ; 1 mkc

MOV P0,BaitV ; 2 mkс 40 63

MOV R1,#18 ; 1 mkс 00

Pauza271_1: DJNZ R1,Pauza271_1 ; 2*17=34 mkc

DJNZ R2,Bit271 ; 2 mkс 37

RRC A ; 1 mkс

ORL P0,#0ffh ; 2 mkc 40

;------------------------------------------------------------------------

MOV Bit6V,C ; 2 mkс 00

MOV Bit7V,C ; 2 mkс

CPL Bit7V ; 1 mkс

MOV R1,#16 ; 1 mkс 6

Pauza271_2: DJNZ R1,Pauza271_2 ; 2*16=32 mkc 38

MOV P0,BaitV ; 2 mkс 40

MOV R1,#15 ; 1 mkс 00

Pauza271_3: DJNZ R1,Pauza271_3 ; 2*15=30 mkc 31

;---------------------------------------------------------------------

INC R0 ; 2 mkc 33

DJNZ R3,Bait271 ; 2 mkс 35

NOP

NOP

NOP

ORL P0,#0C0H ; 2 mkc 40

;-------------------------------------------------------------------------

POP 3 ; 2 mkc

POP 2 ; 2 mkc

POP 1 ; 2 mkc

POP 0 ; 2 mkc

POP 0E0H ; 2 mkc

POP 0D0H ; 2 mkc

RET ; 2 mkc

;***************************************************************************

END

Приложени 3. Программа вывода приборной скорости на ЦАП.

defseg c_text,class=code

seg c_text

CapSlowo0 equ 28h;

CapSlowo1 equ 29h;

global _VivodCapSl

_VivodCapSl:

push 0e0h

push 1

push 2

push 3

clr tcon.4

mov a,CapSlowo0

mov p0,a

mov a,CapSlowo1

mov p2,a

setb p0.3

nop

nop

nop

nop

nop

clr p0.3

setb tcon.4

pop 3

pop 2

pop 1

pop 0e0h

ret

End

Приложение 4. Программа считывания приборной скорости с маски.

defseg c_text,class=code

seg c_text

;адреса битов на Vmd

bitvmd0 equ 28h

bitvmd1 equ 29h

bitvmd2 equ 2ah

bitvmd3 equ 2bh

bitvmd4 equ 2ch

bitvmd5 equ 2dh

bitvmd6 equ 2eh

bitvmd7 equ 2fh

bitvmd8 equ 20h

bitvmd9 equ 21h

global _vvodvmd

_vvodvmd:

push 0e0h

push 1

push 2

push 3

clr tcon.4

orl p0,#1 ;запрещение работы D1

anl p0,#1 ;запрещение работы D1

orl p1,#14h ;запрещение D2 и разрешение D4

anl p1,#14h ;запрещение D2 и разрешение D4

;считываем для Vmd

call Read_P_1_5

mov bitvmd0,c

inc p1

inc p1

call Read_P_1_5

mov bitvmd1,c

inc p1

inc p1

call Read_P_1_5

mov bitvmd2,c

inc p1

inc p1

call Read_P_1_5

mov bitvmd3,c

inc p1

inc p1

call Read_P_1_5

mov bitvmd4,c

inc p1

inc p1

call Read_P_1_5

mov bitvmd5,c

orl p1,#11h ;запрет d2 и разрешение d4

anl p1,#11h ;запрет d2 и разрешение d4

anl p0,#0 ;запрет d5

call Read_P_1_5

mov bitvmd6,c

inc p1

inc p1

call Read_P_1_5

mov bitvmd7,c

inc p1

inc p1

call Read_P_1_5

mov bitvmd8,c

inc p1

inc p1

call Read_P_1_5

mov bitvmd9,c

setb tcon.4

pop 3

pop 2

pop 1

pop 0e0h

ret

Read_P_1_5:

setb p1.5

mov r3,#30 ;250

Pause_P_1_5:

nop

nop

djnz r3,Pause_P_1_5

mov c,p1.5

ret

end

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

defseg c_text,class=code

seg c_text

;адреса битов на Vpr

bitvpr0 equ 08h

bitvpr1 equ 09h

bitvpr2 equ 0ah

bitvpr3 equ 0bh

bitvpr4 equ 0ch

bitvpr5 equ 0dh

bitvpr6 equ 0eh

bitvpr7 equ 0fh

bitvpr8 equ 00h

bitvpr9 equ 01h

global _vvodvpr

_vvodvpr:

push 0e0h

push 1

push 2

push 3

clr tcon.4

orl p0,#1 ;запрещение работы D1

anl p0,#1 ;запрещение работы D1

orl p1,#1 ;запрещение D4 и разрешение D2

anl p1,#1 ;запрещение D4 и разрешение D2

;считываем для Vpr

call Read_P_1_5

mov bitvpr0,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr1,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr2,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr3,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr4,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr5,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr6,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr7,c

orl p1,#10h ;запрещение D2 и разрешение D4

anl p1,#10h ;запрещение D2 и разрешение D4

call Read_P_1_5

mov bitvpr8,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr9,c

setb tcon.4

pop 3

pop 2

pop 1

pop 0e0h

ret

Read_P_1_5:

setb p1.5

mov r3,#30 ;250

Pause_P_1_5:

nop

nop

djnz r3,Pause_P_1_5

mov c,p1.5

ret

end

ВР – 2201.06 - 1999

Изм

Лист

докум.

Подп.

Дата

Разраб.

Грачев А.Ю.

Пояснительная записка

Лит.

Лист

Листов

Пров.

Востров В.Н.

У

1

Реценз.

ЭВМдУ– 53

Н. контр.

Утв.

Экологичность и безопасность проекта

Раздел 5. Экологичность и безопасность проекта.

Раздел 5. Экологичность и безопасность проекта.

Введение

Безопасность жизнедеятельности (БЖД) – наука о комфортном и безопасном взаимодействии человека со средой обитания. БЖД - наука о сохранении здоровья и безопасности человека в среде обитания, признанная выявлять и идентифицировать вредные и опасные факторы, разрабатывая методы и средства защиты человека путем снижения вредных и опасных факторов до приемлемых значений, вырабатывать меры по ликвидации последствий чрезвычайных ситуаций мирного и военного времени.

Цель БЖД – вооружить будущих специалистов теоретическими знаниями и практическими знаниями необходимыми для создания безопасных и безвредных условий жизнедеятельности; проектирования новой техники и технологических процессов в соответствии с требованиями по экологии и безопасности их эксплуатации, с учетом устойчивости функционирования объектов народного хозяйства и технических систем; прогнозирования и принятия грамотных решений в условиях чрезвычайных ситуаций по защите населения и производственного персонала объектов народного хозяйства от возможных последствий аварий, катастроф, стихийных бедствий и применения современных средств поражения, а также в ходе ликвидации этих последствий.

В настоящее время компьютеры приобрели всеобщую популярность. Если раньше основная задача ЭВМ заключалась в произведении каких-либо расчетов, обработке большого количества данных, то сейчас к этим основным функциям вычислительной техники добавляются широкие возможности мультимедийных приложений. Это означает, с точки зрения охраны труда, что в настоящее время главную роль в общении ЭВМ и человека играет изображение на дисплее компьютера. К современным программным продуктам предъявляются большие требования в отношении интерфейса, т.е. диалога с пользователем.

Из всего выше сказанного можно сделать вывод, что сейчас, т.к. изображение стало таким важным параметром, значительно возрастают требования к мониторам. Будет также рассмотрен вопрос анализа вредных и опасных факторов при работе на ЭВМ.

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

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

5.1. Анализ опасных и вредных факторов.

5.1.1. Анализ требований к видеодисплейным терминалам и ПЭВМ [43].

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

Конструкция ВДТ, его дизайн и совокупность эргономических параметров должны обеспечивать надежное и комфортное считывание отображаемой информации в условиях эксплуатации. Конструкция ВДТ должна обеспечивать возможность фронтального наблюдения экрана путем поворота корпуса в горизонтальной плоскости вокруг вертикальной оси в пределах 30 градусов и в вертикальной плоскости вокруг горизонтальной оси в пределах 30 градусов с фиксацией в заданном положении.

Дизайн ВДТ должен предусматривать окраску корпуса в спокойные мягкие тона с диффузным рассеиванием света. Корпус ВДТ и ПЭВМ, клавиатура и другие блоки и устройства ПЭВМ должны иметь матовую поверхность одного цвета с коэффициентом отражения 0,4…0, 6 и не иметь блестящих деталей, способных создавать блики. На лицевой стороне корпуса ВДТ не рекомендуется располагать органы управления, маркировку, какие-либо вспомогательные надписи и обозначения. При необходимости расположения органов управления на лицевой панели они должны закрываться крышкой или быть утоплены в корпусе. Для обеспечения надежного считывания информации при соответствующей степени комфортности ее восприятия должны быть определены оптимальные и допустимые диапазоны визуальных эргономических параметров.

  • Конструкция ВДТ, дизайн соответствуют современным требованиям.

  • Эргономические параметры приведены в таблице 5.1.1.1. и обеспечивают хорошее считывание отображаемой информации. Эти параметры удовлетворяют нормам СанПиН [43].

Табл. 5.1.1.1.

Визуальные эргономические параметры ВДТ:

Наименование параметров

Значения параметров

Нормы СанПиН [43]

Яркость знака (яркость фона), кд/кв. м

75

35-120

Внешняя освещенность экрана, лк

175

100-250

Угловой размер знака, угл. Мин.

40

16-60

  • Поворот корпуса ВДТ в горизонтальной и вертикальной плоскости соответствует нормам. Корпуса ВДТ и ПЭВМ окрашены в мягкие тона и имеют матовую поверхность с коэффициентом отражения, не превышающим норму, монитор имеет антибликовое и антистатическое покрытие, а также снабжен ручками регулировки яркости и контраста.

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

  • Конструкция клавиатуры выполнена в виде отдельного устройства с возможностью свободного перемещения, имеет опорные устройства, позволяющие менять угол наклона клавиатуры. Основные параметры клавиатуры удовлетворяют нормативам.

5.1.2. Анализ помещения для эксплуатации ВДТ и ПЭВМ [43].

Помещения с ВДТ и ПЭВМ должны иметь естественное и искусственное освещение. Естественное освещение должно осуществляться через светопроемы, ориентированные преимущественно на север и северо-восток и обеспечивать коэффициент естественной освещенности (КЕО) не ниже 1.2% в зонах с устойчивым снежным покровом и не ниже 1.5% на остальной территории. Указанные значения КЕО нормируются для зданий, расположенных в III световом климатическом поясе. Площадь на одно рабочее место с ВДТ или ПЭВМ для взрослых пользователей должна составлять не менее 6,0 кв. м., а объем не менее 20,0 куб. м. Площадь на одно рабочее место с ВДТ и ПЭВМ во всех учебных и дошкольных учреждениях должна быть не менее 6,0 кв. м, а объем не менее 24,0 куб. м. При строительстве новых и реконструкции действующих средних, средних специальных и высших учебных заведений помещения для ВДТ и ПЭВМ следует проектировать высотой (от пола до потолка) не менее 4,0 м.

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

Звукоизоляция ограждающих конструкций помещений с ВДТ и ПЭВМ должна отвечать гигиеническим требованиям и обеспечивать нормируемые параметры шума. Помещения с ВДТ и ПЭВМ должны оборудоваться системами отопления, кондиционирования воздуха или эффективной приточно-вытяжной вентиляцией. Для внутренней отделки интерьера помещений с ВДТ и ПЭВМ должны использоваться диффузно-отражающие материалы с коэффициентом отражения для потолка - 0.7-0.8; для стен - 0. 5-0. 6; для пола - 0. 3- 0. 5.

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

Рассмотрим характеристики лаборатории ЛВС ОИО ФГУП УМЗ. Лаборатория расположена на 4 этаже.

  • Естественное освещение в лаборатории осуществляется благодаря одному большому оконному проему с жалюзи, ориентированным на световую сторону, в результате чего лаборатория всегда достаточно освещена. Искусственное освещение поддерживается 4-мя лампами накаливания, каждая мощностью 250 Вт.

  • Площадь помещения (6х5,5 метров) равна 33 кв. м. Число рабочих мест равно шести. Площадь на одно рабочее место составляет 5.5 м2. Высота потолка – 3 м, следовательно, объем воздуха на одно рабочее место равен 16,5 кв. м. Это не соответствует санитарным нормам: не менее 6 м2 площади и 20 м3 объема. Помещение имеет встроенные шкафы и полки для хранения одежды и поклажи. Лаборатория и корпус оборудованы системой центрального отопления, имеется горячее и хозяйственно-питьевое водоснабжение, канализация. Лаборатория имеет системы вентиляции воздуха, встроенные в оконные проемы.

  • Лаборатория не оснащена предметами, сделанными из полимерных материалов, половое покрытие - линолеум.

  • Лаборатория имеет один вход и не имеет смежных с ней помещений.

  • Лаборатория не граничит с помещениями с высоким уровнем шума и вибрации.

5.1.3. Анализ микроклимата в помещении эксплуатации ВДТ и ПЭВМ

[17, 43].

В производственных помещениях, в которых работа на ВДТ и ПЭВМ является основной (диспетчерские, операторские, расчетные, кабины и посты управления, залы вычислительной техники и др.), должны также обеспечиваться оптимальные параметры микроклимата.

Для повышения влажности воздуха в помещениях с ВДТ и ПЭВМ следует применять увлажнители воздуха, заправляемые ежедневно дистиллированной или прокипяченной питьевой водой.

Уровни положительных и отрицательных аэронов в воздухе помещений с ВДТ и ПЭВМ должны соответствовать нормам, приведенным в приложении 6; 19 (п.2.3).

Содержание вредных химических веществ в производственных помещениях, работа на ВДТ и ПЭВМ, в которых является основной (диспетчерские, операторские, расчетные, кабины и посты управления, залы вычислительной техники и др.), не должно превышать "Предельно допустимых концентраций загрязняющих веществ в атмосферном воздухе населенных мест" ([43, приложение 19, п.2.5]).

Запрещается проводить ремонт ВДТ и ПЭВМ непосредственно в рабочих, учебных и дошкольных помещениях.

  • В теплое время года в лаборатории температура воздуха составляет от 20 до 25 0С. Подвижность воздуха – от 0 до 0.1 м/с. Влажность воздуха –50-60%. Это соответствует норме.

  • В холодное время года в лаборатории температура воздуха составляет 13-17 0С, подвижность воздуха менее 0.1 м/с, влажность воздуха – 50-60%. Такие температурные параметры не приемлемы, учитывая сидячий режим работы.

  • Содержание вредных химических веществ в воздухе не превышает среднесуточных концентраций атмосферного воздуха.

  • Содержание аэронов в воздухе лаборатории близко к оптимуму и равно соответственно: положительных – 1000-1200, а отрицательных – 1700-2000.

  • В помещении отсутствует система кондиционирования. Смена воздуха производится путем открытия окна, в связи с чем эффективность подачи воздуха зависит от наличия или отсутствия ветра. Из-за этого подсчитать объем подаваемого воздуха не представляется возможным. Работы, выполняемые в лаборатории, не влекут за собой выделения пыли, влаги, газов, загрязняющих веществ. Запыленность низкая. Ежедневно проводятся влажные уборки.

В связи с отсутствием активной системы вентиляции произведем расчет:

  1. В помещении находятся шесть человек. Кондиционер должен обеспечить приток воздуха в 30 куб. м. в час на человека, итого – 180 куб. м. в час. Из всего спектра рассмотренных кондиционеров наиболее подходящим является модель LG Electronics LW-A0560CL. Параметры этого кондиционера:

  • Размещение – оконное.

  • Управление – панель.

  • Потребляемая мощность – 625 Вт.

  • Расход воздуха – 190 куб. м./час.

  • Вес – 21 кг.

  1. Проверим возможность установки этого кондиционера:

  • Кондиционер подключается в обычную розетку - приемлемо.

  • Помещение подключено к сети через два автомата защиты по 16 ампер, итого – 2 х 3520 Вт.

  • К одному автомату подключены устройства общей мощностью около 400 Вт, к другому – около 900 Вт, следовательно, установка кондиционера – возможна.

Вывод: Для улучшения микроклимата рекомендуется установить оконный кондиционер LG Electronics LW-A0560CL.

5.1.4. Анализ шума и вибрации [43].

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

При выполнении основной работы на ВДТ и ПЭВМ (диспетчерские, операторские, расчетные кабины и посты управления, залы вычислительной техники и др.), во всех учебных и дошкольных помещениях с ВДТ и ПЭВМ уровень шума на рабочем месте не должен превышать 50 дБА. В помещениях, где работают инженерно-технические работники, осуществляющие лабораторный, аналитический или измерительный контроль, уровень шума не должен превышать 60 дБА. В помещениях операторов ЭВМ (без дисплеев) уровень шума не должен превышать 65 дБА. На рабочих местах в помещениях для размещения шумных агрегатов вычислительных машин (АЦПУ, принтеры и т.п.) уровень шума не должен превышать 75 дБА.

В производственных помещениях, в которых работа с ВДТ и ПЭВМ является основной, а также во всех учебных и дошкольных помещениях с ВДТ и ПЭВМ вибрация на рабочих местах не должна превышать допустимых норм вибрации [29, 43]. Шумящее оборудование (АЦПУ, принтеры и т.п.), уровни шума которого превышают нормированные, должно находиться вне помещения с ВДТ и ПЭВМ.

  • Уровень шума в лаборатории не превышает 65 дБА, что соответствует СанПиН [43, пр. 7].

  • Вибрация на рабочих местах не превышает допустимых норм [43, пр. 8, 9].

  • Шумящее оборудование не выявлено.

5.1.5. Анализ освещения лаборатории и рабочих мест с ВДТ и ПЭВМ [43].

Искусственное освещение в помещениях эксплуатации ВДТ и ПЭВМ должно осуществляться системой общего равномерного освещения. В производственных и административно-общественных помещениях, в случаях преимущественной работы с документами, допускается