Материалы сайта
Это интересно
Разработка контрольно-проверочной программы модуля ввода-вывода МФПУ-1
Содержание Содержание 1 Список принятых сокращений 5 Аннотация 6 Введение 8 1. Анализ многофункционального пульта управления и модуля ввода - вывода 10 1.1. Программно-аппаратный интерфейс МФПУ-1 10 1.1.1. Интерфейс МПР и МВВ-34 10 1.1.2. Интерфейс МПР и МДС-1 10 1.1.3. Интерфейс МПР и МДК-1 10 1.1.4. Интерфейс МПР и МКК-2 13 1.2. Описание модуля МВВ 13 1.2.1. Технические данные МВВ 13 1.2.2. Микропроцессорное устройство 14 1.2.3. Структура и функционирование МВВ 14 1.2.4. Контроллер КЛС 15 1.2.5. Конфигурация микропроцессора 19 1.2.6. Взаимодействие МВВ с центральным процессором 21 1.2.7. Встроенный контроль 21 2. Анализ инструментальных средств 24 2.1. Выбор языка программирования 24 2.2. Загрузка и функционирование программ в МВВ 25 2.3. Загрузка и функционирование программ в МПР 27 3. Состав и назначение тестов 28 3.1. Ориентировочный состав тестов. 28 3.2. Контроля аппаратуры обмена 28 3.2.1. Непрерывный контроль 28 3.2.2. Расширенный контроль 29 3.2.3. Контроль семафоров 29 3.2.4. Контроль рабочей области 30 3.2.5. Контроль прерываний 31 4. Требования к функциональным характеристикам тестов 33 4.1. Требования к программе 33 4.2. Требования к ВСК 33 4.2.1. Программные средства текущего контроля 34 4.2.2. Программные средства расширенного контроля. 35 4.3. Требования к КПП 35 4.4. Требования к отдельным тестам 36 4.4.1. Тест JTAG 36 4.4.2. Тест интерфейса ISA 36 4.4.3. Тест микропроцессора 36 4.4.4. Тест канала RS-232C 37 4.4.5. Тест ППЗУ 37 4.4.6. Тест чтения перемычек выбора режима 37 4.4.7. «Быстрый» тест ОЗУ и «расширенный» тест ОЗУ 37 4.4.8. Тест двух портового ОЗУ 37 4.4.9. Тест сигнала «Отказ МВВ» 38 4.4.10. Тест контроллера КЛС 38 4.4.11. Тест обмена по КЛС 38 4.4.12. Тест программирования ЭСППЗУ 39 4.4.13. Тест программирования Flash-ЗУ 39 4.5. Требования к надежности 39 4.6. Требования к информационной и программной совместимости 39 5. Описание функционирования КПП и ВСК 40 5.1. Модуль центрального процессора 40 5.1.1. «Контроль аппаратуры обмена» 40 5.1.2. «Расширенный контроль» 43 5.2. Модуль ввода-вывода 45 5.2.1. «Контроль аппаратуры обмена» 45 5.2.2. «Расширенный контроль» 48 5.3. Вспомогательные функции 50 5.3.1. Процедура открытия семафоров (МВВ) 50 5.3.2. Процедура закрытия семафоров (МВВ) 50 5.3.3. Чтение из двух портового ОЗУ (МВВ) 51 5.3.4. Запись в двух портовое ОЗУ (МВВ) 51 5.3.5. Процедура открытия семафоров (МПР) 52 5.3.6. Процедура закрытия семафоров (МПР) 52 5.3.7. Чтение из двух портового ОЗУ (МПР) 53 5.3.8. Запись в двух портовое ОЗУ (МПР) 53 5.4. Инициализация обмена с МВВ 54 5.5. Режим «контроль аппаратуры обмена» 54 5.5.1. Контроль семафоров 55 5.5.2. Контроль рабочей области 56 5.5.3. Контроль прерываний 57 5.6. Режим «расширенный контроль» 57 5.6.1. Тест микропроцессора 58 5.6.2. Тест ППЗУ 58 5.6.3. Быстрый тест статического ОЗУ 58 5.6.4. Расширенный тест статического ОЗУ 58 5.6.5. Тест сигнала «отказ МВВ» 59 5.6.6. Тест контроллера КЛС 59 6. Экологичность и безопасность проекта. 60 Введение. 60 6.1. Анализ опасных и вредных факторов. 61 6.1.1. Электробезопасность. 61 6.1.2. Анализ помещения по электробезопасности [8]. 67 6.1.3. Анализ помещения по взрывопожарной безопасности. 68 6.2. Анализ по обеспечению здоровых и безопасных условий труда. 69 6.3. Паспорт рабочего места. 71 6.4. Оценка условий труда по степени вредности и опасности. 75 7. Организационно-экономическая часть 82 7.1. Принципы организации оплаты труда 82 7.1.1. Принципиальные положения оплаты труда 82 7.1.2. Формы и системы оплаты труда 83 7.2. Расчет стоимости разработки КПП МВВ для МФПУ-1. 89 7.2.1. Расчет затрат на разработку программы 89 7.2.2. Расчет экономической эффективности от внедрения программного продукта 90 7.2.3. Затраты до внедрения 91 7.2.4. Затраты после внедрения 91 Список используемых источников 94 Приложение 1: МВВ – «Контроль аппаратуры обмена» 96 Приложение 2: МПР – «Контроль аппаратуры обмена» 102 Приложение 3: МВВ – «Расширенный контроль» 108 Приложение 4: МПР – «Расширенный контроль» 112 Список принятых сокращений ВСК - встроенный контроль ДПОЗУ - двух портовое ОЗУ ЖКИ - жидкокристаллический индикатор КЛС - кодовая линия связи КПП - контрольно-проверочная программа МБД - модуль базы данных МВВ - модуль ввода-вывода МДК - модуль дисплейного контроллера МДС - модуль дискретных сигналов МИП - модуль источника питания МКК - модуль контроллера клавиатуры МПР - модуль процессора МФПУ - многофункциональный пульт управления ОЗУ - оперативное запоминающее устройство ПДС - преобразователь дискретных сигналов ПЗУ - постоянное запоминающее устройство ПО - программное обеспечение ППЗУ - перепрограммируемое ПЗУ РК - разовая команда РМП - рабочее место программиста СПО - специальное программное обеспечение ТК - технологический компьютер ТПО - тестовое программное обеспечение Аннотация Данный дипломный проект посвящен разработке алгоритмов и написанию подпрограмм взаимодействия модуля ввода-вывода (далее МВВ-34 и МВВ) с модулем центрального процессора (далее МПР), разработке контрольно- проверочной программы МВВ-34 и ее взаимодействие с МПР, в состав которой вошли следующие программные компоненты: 1. Контроль аппаратуры обмена: - тест семафоров; - тест рабочей области (двух портового ОЗУ); - тест прерываний. 2. Расширенный контроль МВВ: - тест микропроцессора; - тест ППЗУ; - быстрый тест ОЗУ; - расширенный тест ОЗУ; - тест двух портового ОЗУ; - тест сигнала «Отказ МВВ»; - тест контроллера КЛС. В разделе «Анализ многофункционального пульта управления и модуля ввода-вывода» рассмотрены основные аспекты функционирования модуля в целом. В разделе «Анализ инструментальных средств и взаимодействие МФПУ-1 с технологическим компьютером» рассмотрены особенности принятия и использования языка программирования, написания, отладки, загрузки и функционирования ПО. Раздел «Состав и назначение тестов» включает в себя вид контроля и состав тестов в каждом виде. В разделе «Требования к функциональным характеристикам тестов» описаны требования к ВСК и КПП, а так же к отдельным тестам. В разделе «Описание функционирования КПП и ВСК» описаны реализованные тесты, подробные алгоритмы их функционирования, особенности. В разделе «Безопасность жизнедеятельности» проведен анализ вредных и опасных факторов. В «организационно-экономической» части приведен расчет экономических затрат на разработку, внедрение и эксплуатацию разработанной контрольно- проверочной программы и встроенного контроля. В приложении к выпускной работе приведены листинги разработанных тестов для МВВ-34 и МПР. Введение Появление микропроцессоров в 60-х годах связано с разработкой интегральных схем (ИС). Интегральные схемы объединяли в себе различные электронные компоненты в единый элемент на силиконовом «чипе». Разработчики установили этот крошечный чип в устройство, напоминающие сороконожку и включили его в функционирующие системы. В начале 70-х микрокомпьютеры на процессоре Intel 8008 возвестили о первом поколении микропроцессоров. К 1974 году появилось второе поколение микропроцессоров общего назначения Intel 8080. Данный успех побудил другие фирмы к производству этих или аналогичных процессоров. В 1978 году фирма Intel выпустила процессор третьего поколения - Intel 8086, который обеспечивал некоторую совместимость с 8080 и являлся значительным продвижением вперед в данной области. Для поддержки более простых устройств и обеспечения совместимости с устройствами ввода-вывода того времени Intel разработал разновидность процессора 8086 - процессор 8088, который в 1981 году был выбран фирмой IВМ для ее персональных компьютеров. Более развитой версией процессора 8088 является процессор 80188, а для процессора 8086 - процессоры 80186, 80286 и 80386, которые обеспечили дополнительные возможности и повысили мощность вычислений. Микропроцессор 80286, установленный в компьютерах IBM AT появился в 1984 году. Все эти процессоры имеют отношение к развитой архитектуре процессоров фирмы Intel и обозначаются как iAPX86, iAPX 88, iAPX86, iAPX286 и iAPX386, где APX - Intel Advanced Processor Architecture. Со стремительным развитием технологий в области микропроцессоров и микропроцессорной техники стало возможным применение микропроцессоров практически во всех отраслях промышленности. Разработанный фирмой Intel микропроцессор I80386EX стал одним из главных микропроцессоров применяемых в промышленности. Данный микропроцессор был разработан специально для применения в промышленности. Основой для его разработки послужил микропроцессор I80386, проявивший себя с положительной стороны в компьютерных технологиях. Микропроцессор I80385EX отличается от своего родоначальника I80386 лишь тем, что к нему предъявлены более высокие требования, а так же в сам процессор были проинтегрированы такие устройства как контроллер прямого доступа к памяти, два контроллера прерываний, таймер, сторожевой таймер и т.д. Анализ многофункционального пульта управления и модуля ввода - вывода 1 Программно-аппаратный интерфейс МФПУ-1 1 Интерфейс МПР и МВВ-34 МВВ-34 предназначен для реализации в МФПУ-1 функций приема и выдачи информации по кодовым линиям связи (КЛС) согласно ГОСТ 18977-79 и РТМ 1495-75 с изменениями 2 и 3 (ARINC 429). Взаимодействие МПР и МВВ осуществляется через 2-х портовое ОЗУ, размещенное в МВВ. МПР производит доступ к этой памяти по стандартной ISA шине, а доступ процессора ввода/вывода МВВ (Intel386EX) происходит по его локальной шине. Обоим процессорам 2-х портовая память доступна по чтению и записи. 2 Интерфейс МПР и МДС-1 Модуль дискретных сигналов МДС-1 (далее в тексте МДС) предназначен для приема и выдачи дискретных сигналов (разовых команд) и связи с МПР по шине ISA. Взаимодействие МПР и МДС осуществляется через программно-доступные регистры МДС, располагаемые в области адресов ввода-вывода МПР. 3 Интерфейс МПР и МДК-1 МДК-1 предназначен для формирования изображения растровым методом и отображения информации на экране жидкокристаллической (ЖК) активной матричной цветной панели CT4040-C8 в составе прибора МФПУ-1. В качестве графического процессора в модуле применен 32-разрядный RISC-процессор SMJ34020AGBM32 исполнения Military производства фирмы Texas Instruments Incr. Взаимодействие МПР и МДК осуществляется через перемещаемое «окно» МПР, отображенное в область памяти графического процессора МДК. 1 Программирование обмена с МПР Протокол обмена данными между центральным процессором и GPS должен определяться системным программистом, исходя из решения конкретных задач и распределения аппаратных ресурсов в системе (степени загруженности центрального процессора и возможности его привлечения для решения графических задач). Можно порекомендовать с целью уменьшения передаваемой информации (дисплейного файла) реализовать «векторный вход»: центральный процессор передает в дисплейном файле команды «нарисовать отрезок (дугу, окружность...)», а графический процессор разлагает передаваемые примитивы в растр. Для срочного привлечения внимания к себе и для поддержки протокола обмена графический процессор может вызвать аппаратное прерывание центрального процессора по линии IRQ11 для шины ISA с предварительной загрузкой сообщения в свой почтовый ящик MSGOUT[HSTCTLL]. Аналогично центральный процессор также может вызвать программное прерывание графического процессора установкой бита (регистра I/O служебной зоны) INTIN[HSTCTLL] с передачей сообщения через буфер (почтовый ящик) MSGIN[HSTCTLL]. Аппаратный интерфейс обмена с центральным процессором не поддерживает пересылку информации с предварительной выборкой адреса графического процессора. При обращении центрального процессора в адресную зону ОЗУ программ обмен производиться 16-ти битовыми словами. Зона ОЗУ программ накрывает зону служебных регистров I/O, обращения в служебную зону рассматриваются как 32-разрядные. 2 Программирование тестов При всяком сбросе GSP (по включению питания, аварии источника питания, аппаратном сбросе с контрольного разъема, по системному сбросу RESET_DRV) должна выполняться проверка модуля путем последовательного исполнения тестов отдельных его компонент, а затем их инициализацию в нужное рабочее состояние. В случае определения ошибок при тестировании GSP должен сформировать разовую команду «Неисправность МДК" и прекратить выполнение команд. Можно порекомендовать метод контрольных точек для идентификации дефекта в случае определения ошибок. Суть его будет заключаться в том, что каждой тестируемой компоненте ставиться в соответствие своя контрольная точка, и она запоминается в определенной ячейке памяти. Прохождение текущей контрольной точки можно сопроводить выводом сообщения на экран CT4040. В случае ошибки по номеру контрольной точки можно установить неисправный компонент модуля. Альтернативным способом можно ввести регистр неисправности модуля с соответствующей битовой структурой и отображать на экране бинарный код. Обязательно необходимо предусмотреть проведение текущей работоспособности модуля в процессе штатной работы. Необходимо засинхронизировать проведение текущего теста с обратным ходом сигнала кадровой развертки. Объем текущего теста должен по возможности быть небольшим (на уровне проверки значений контрольных сумм ПЗУ, проверки записи/чтения данных в фиксированные ячейки ОЗУ). Необходимо предусмотреть режим расширенного теста модуля по протоколу взаимодействия с центральным процессором (предположим в режиме наземного контроля МФПУ), с отображением на экране CT4040 тестовых кадров проверки самого модуля, а также проверки светотехники, геометрии и других параметров непосредственно самой панели. 4 Интерфейс МПР и МКК-2 МКК-2 (далее в тексте МКК) предназначен для сканирования клавиатуры, определения нажатой клавиши и выдачи кода этой клавиши в модуль процессора (МПР). В качестве контроллера в модуле используется однокристальный микроконтроллер MD87C51FB-16 производства фирмы Intel. МКК также сканирует клавиши управления подсветом ЖКЭ и выдает аналоговый сигнал на модуль МУП по результатам обработки состояния этих клавиш. 2 Описание модуля МВВ МВВ предназначен для реализации в МФПУ-1 функций приема и выдачи информации по кодовым линиям связи (КЛС) согласно ГОСТ 18977-79 и РТМ 1495-75 с изменениями 2 и 3 (ARINC 429). 1 Технические данные МВВ 1. Количество входных КЛС - 32. 2. Скорость обмена по входным КЛС - от 10 до 100 Кбит/сек. Настройка КЛС на конкретную скорость обмена обеспечивается установкой конденсаторов входного фильтра при целевом изготовлении модуля МВВ и программной установкой после включения питания, при этом программно устанавливаемая скорость не должна превышать граничной скорости, заданной конденсаторами входного фильтра. 3. Количество выходных КЛС - 9. Скорости передачи по выходным КЛС: от 12,5 до 14,0 Кбит/сек; 50 Кбит/сек +/-1%; 100 Кбит/сек +/-1%. Настройка любой КЛС на выбранную скорость передачи производится программно. 4. Пропускная способность МВВ обеспечивает прием и передачу информации по КЛС без потерь при соблюдении следующих соотношений: 1) количество входных КЛС со скоростью 100 Кбит/сек - не более восьми (остальные входные КЛС должны иметь скорости обмена не более 50 Кбит/сек); 2) общее количество 32-разрядных сообщений, принимаемых МВВ по КЛС, - не более 6000 сообщений за 1 секунду; 3) общее количество 32-разрядных сообщений, выдаваемых МВВ по КЛС, - не более 1500 сообщений за 1 секунду. 2 Микропроцессорное устройство Тип микропроцессора - 80386ЕХ - со встроенной периферией: - контроллер прерываний; - контроллер прямого доступа; - таймер; - сторожевой таймер; - последовательный порт (RS232C). - Тактовая частота - 20 МГц. Система памяти: 1) статическое ОЗУ емкостью 128К(слов)*16 (разрядов); 2) ЭСППЗУ типа Flash - 256К*16; 3) ЭСППЗУ с возможностью перезаписи отдельных байтов - 128К*8; 4) двух портовое ОЗУ - 16К*16. 5) ПЗУ всех типов программируются в составе МВВ. 3 Структура и функционирование МВВ Основной функциональный узел – это контроллер КЛС, состоящий из 32 независимых приемных каналов, 9 независимых передающих каналов и интерфейса с микропроцессором. Приемный канал преобразует последовательный дифференциальный сигнал КЛС в параллельный код (сообщение длиной 32 разряда) и записывает его в буферный регистр. Микропроцессор считывает принятые сообщения из буферных регистров (словами по 16 разрядов), адресуясь по внутренней шине к соответствующему приемному каналу (в режиме прерывания или по опросу готовности) и формирует блоки информации в двух портовом ОЗУ. Центральный процессор, обращаясь к МВВ по системной шине, считывает из двух портового ОЗУ принятые данные, записывает в двух портовое ОЗУ информацию для передачи по КЛС и, при необходимости, управляющую (командную) информацию для МВВ. Микропроцессор, опрашивая соответствующие ячейки двух портового ОЗУ, ставит выходные сообщения в очередь соответствующего передающего канала), каждый передающий канал содержит буфер типа FIFO на 8 слов по 32 разряда). Передающий канал преобразует очередное сообщение в последовательный сигнал КЛС в соответствии с заданными при инициализации скоростью передачи и паузой между сообщениями. Программы, управляющие микропроцессором, и константы размещаются в ППЗУ типа Flash объемом 512 Кбайт (256К*16). Статическое ОЗУ (128К*16) предназначено для размещения переменных различного назначения и, возможно, отдельных программных модулей, требующих более быстрого выполнения. Кроме того, имеется ЭСППЗУ размером 128К*8 с возможностью перезаписи отдельных байтов, предназначенное для размещения начального загрузчика программного обеспечения, а также параметров, требующих сохранения при отключении или отказе питания (например, результаты тестирования, количество циклов перепрограммирования ППЗУ). На технологический разъем выведены канал RS-232C (для загрузки программного обеспечения и тестирования при проведении профилактических и отладочных работ) и канал JTAG (для отладки и загрузки начального загрузчика). 4 Контроллер КЛС Сигналы с 32 входных КЛС поступают на приемники типа RM3283, которые преобразуют биполярные трехуровневые сигналы (в стандарте ARINC 429) в двухпроводные сигналы ТТЛ - уровня (линии «H» и «L» в коде RZ), поступающие далее на входы СБИС многоканальных приемопередатчиков (MRT) типа TS68C429. Каждая из 32 входных КЛС может быть настроена на скорость обмена от 10 до 100 Кбит/с. Настройка определяется программной установкой длительности паузы в микросхеме MRT и подключением конденсаторов входного фильтра к соответствующим выводам приемников (по 2 конденсатора на каждую КЛС). Стандартное значение емкости конденсаторов 39 пФ, что соответствует максимально допустимой скорости обмена 100 Кбит/с. Если необходимо увеличить помехозащищенность отдельных КЛС, для них при целевом изготовлении модуля МВВ возможна установка конденсаторов большей емкости; при этом пропорционально уменьшается максимально допустимая скорость обмена по данной КЛС. Микросхема MRT содержит 8 приемных каналов и 3 передающих. В приемном канале последовательный RZ-код преобразуется в параллельный двоичный (в сдвиговом регистре); конец сообщения определяется по соответствию длительности паузы после последнего принятого бита значению, записанному в регистр паузы; после этого принятое сообщение проверяется на допустимость, т.е. проверяются длина сообщения (32 бита), четность и соответствие адресной части (метки) сообщения (разряды с 1 по 8) матрице управления метками. Если все три условия выполнены, и буферный регистр свободен, то сообщение из регистра сдвига переписывается в буферный регистр, при этом устанавливается бит готовности в регистре состояния MRT и, если разрешено, вырабатывается прерывание на микропроцессор. Микропроцессор считывает из буферного регистра сначала старшее слово (MSW, разряды с 17 по 32), затем младшее (LSW), поскольку считывание LSW является признаком освобождения буфера, разрешающим запись в него нового сообщения из сдвигового регистра. Промежуток времени, в течение которого микропроцессор должен среагировать на прерывание или признак готовности и освободить буфер, чтобы не допустить потери информации в сдвиговом регистре, определяется длительностью приема нового сообщения в сдвиговый регистр (32T) и длительностью паузы (4T), итого - 36T, где T - величина обратная скорости передачи по данной КЛС. Передающий канал содержит очередь (FIFO) на 8 сообщений, которая в адресном пространстве внутренней шины представлена двумя словами. Микропроцессор записывает по адресу соответствующего канала MRT сначала старшее слово (MSW) передаваемого сообщения, затем младшее (LSW). Как только в очередь будет записано хотя бы одно сообщение, начинается передача: очередное сообщение выталкивается из очереди сначала в регистр сдвига, затем на последовательный выход (линии «H» и «L» в коде RZ). Скорость передачи и пауза должны быть предварительно установлены микропроцессором, соответственно, в регистре частоты и регистре управления передающего канала MRT. Также в регистре управления устанавливается режим формирования бита четности для передачи (разряд 32). Количество сообщений в очереди доступно для чтения через регистр управления. Очередь может быть очищена в любой момент путем обращения к этому же регистру. Если очередь пуста, устанавливается соответствующий бит в регистре состояния MRT и, если разрешено, вырабатывается прерывание на микропроцессор. Промежуток времени, в течение которого микропроцессор должен среагировать на эту ситуацию, определяется длительностью передачи последнего сообщения из сдвигового регистра (32T) и максимально допустимой длительностью паузы (как правило 40T), итого - 72T. Выходы передающих каналов MRT подаются на микросхемы передатчиков RM3182, которые преобразуют ТТЛ - уровни в биполярные трехуровневые сигналы ARINC 429 и формируют фронты необходимой длительности. Длительность фронтов каждого передатчика управляется микропроцессором через параллельный порт и должна устанавливаться при программировании скорости передачи соответствующего канала: - логический ноль - для скорости передачи от 12,5 до 14,0 Кбит/с (длительность фронта/спада 10 мкс); - логическая единица - для скорости передачи 100 Кбит/с или 50 Кбит/с (длительность фронта/спада 1,5 мкс). Имеется также возможность отключения микропроцессором выходов всех передатчиков (по входам стробирования) при проведении программно- управляемого контроля МВВ. Схемы встроенного контроля поддерживают 3 вида контроля: 1) Непрерывный аппаратный контроль выходов КЛС для обнаружения отказов микросхем передатчиков и коротких замыканий на выходах. В этом режиме сигналы с выходов микросхем передатчиков через мультиплексор и преобразователь уровня подаются на схему сравнения, где они сравниваются с сигналами на соответствующих входах микросхем передатчиков; при несовпадении вырабатывается прерывание на микропроцессор. Переключение линий при мультиплексировании - аппаратное, без вмешательства программы. Программно устанавливается только период сигналов переключения, формируемых таймером. 2) Программно-управляемый контроль в составе системы. Производится после включения питания или по команде оператора. В этом режиме выходы всех передатчиков должны быть отключены (выдача сигналов в систему запрещена), а данные для тестирования выбираются мультиплексором со входов микросхем передатчиков и через преобразователь кода подаются на тестовые входы приемников. При этом в микросхемах приемников блокируются сигналы входных КЛС, а данные с тестовых входов преобразуются обратно в RZ-код и подаются на входы MRT. 3) Автономный программно-управляемый контроль. Производится при отладочных и профилактических работах. В этом режиме сигналы с выходов микросхем передатчиков через мультиплексор и преобразователь уровня подаются на преобразователь кода и затем на тестовые входы приемников, т.е. обеспечивается максимальная полнота контроля. В режимах 2 и 3 управление мультиплексорами может быть как программным, так и аппаратным (переключение по таймеру). 5 Конфигурация микропроцессора Микропроцессор Intel80386EX имеет программируемую конфигурацию. Сигнал SMI (прерывание системного управления) инициируется внешним относительно МВВ устройством (центральным процессором) посредством записи в последнюю ячейку двух портового ОЗУ. Это прерывание имеет самый высокий приоритет среди внешних прерываний. При распознавании SMI после завершения текущей команды ядро микропроцессора (CPU) сохраняет свои регистры в области SMRAM (область адресов ОЗУ от 3FE00h до 3FFFFh) и переходит в «режим системного управления» (SMM). Управление передается драйверу SMM, стартовый адрес которого всегда 38000h (не перемещаемый). Возврат из SMM осуществляется специальной командой RSM. Подробнее о режиме SMM см. в описании микропроцессора «Intel80386EX Embedded Microprocessor Hardware Reference Manual». Следующее по приоритету - NMI (немаскируемое прерывание). Оно вырабатывается сторожевым таймером, которому отведена в МВВ функция контроля выполнения программ для обнаружения непредусмотренного зацикливания или исполнения блуждающего кода. Далее – контроллер маскируемых прерываний, который реализован на двух модулях 8259A, встроенных в микропроцессор 80386EX и соединенных каскадно. На входы контроллера прерываний поступают запросы прерываний от встроенных периферийных устройств микропроцессора, от схемы аппаратного контроля выходов КЛС и семь сигналов от контроллера КЛС. Каждый из запросов контроллера КЛС может быть сформирован несколькими источниками; чтобы определить, какой источник требует обслуживания, следует прочитать регистр состояния, соответствующий данному номеру (вектору) прерывания. Трехканальный таймер используется для реализации следующих функций. Канал 0 - для организации часов реального времени с целью присвоения временных меток принимаемым по КЛС сообщениям. Канал 1 задает период сигналов переключения мультиплексоров в схеме контроля передатчиков КЛС. Каналы 0 и 1 тактируются внутренним сигналом PSCLK, получаемым путем деления тактовой частоты процессора (20 МГц) делителем предварительного масштабирования (коэффициент деления от 2 до 513). Канал 2, как было описано выше, формирует опорную частоту (CLK-ARINC) для MRT и тактируется внешним сигналом, полученным путем деления частоты системного синхросигнала OSC. Контроллер ПДП используется для обслуживания канала RS-232C (загрузка и тестирование через технологический разъем). Параллельные порты используются для считывания кода задания режима (статуса) МВВ и для управления длительностью фронтов импульсов, передаваемых по КЛС. Ядро микропроцессора (CPU) получает управление после окончания сигнала сброса на входе микропроцессора. Сброс формируется в следующих случаях: 1) При включении или восстановлении питания +5В на МВВ; сброс устанавливается, когда напряжение падает ниже 4,65В (порог срабатывания от 4,5 до 4,75 В), но остается выше 1,0 В, и удерживается в течение приблизительно 200 миллисекунд после установления нормального напряжения; 2) По сигналу RESET на системной шине; 3) Программный сброс МВВ через двух портовое ОЗУ со стороны системной шины (см. п.4.5); 4) По сигналу RSTM на технологическом разъеме. Возможен также программный сброс только CPU без сброса периферийных устройств через PORT92 (запись единицы в младший разряд по адресу F092h). Во всех случаях после окончания сброса CPU производит внутренний тест самоконтроля в течение примерно 1000000 тактов, затем считывает первую команду по физическому адресу 3FFFFF0h. Этот адрес преобразуется устройством выбора кристалла в адрес на внутренней шине МВВ 7FFF0h (кроме случая сброса CPU через POTR92). 6 Взаимодействие МВВ с центральным процессором Обмен информацией МВВ с центральным процессором МФПУ производится через двух портовое ОЗУ (размещенное в МВВ), один из портов которого подключен к системной шине (ISA), а другой - к внутренней шине МВВ. Обращения к ОЗУ через любой из портов производятся асинхронно и независимо от другого порта за исключением следующих двух случаев одновременного обращения к одной и той же ячейке памяти: 1) через оба порта одновременно пытаются произвести запись в одну и ту же ячейку памяти; в этом случае тот сигнал записи, который пришел позже, блокируется; 2) через один из портов производится чтение той ячейки, в которую в этот момент через другой порт идет запись; такое чтение даст неверные данные. Исключение подобных ситуаций должно быть обеспечено на программном уровне соответствующим протоколом обмена, при этом может использоваться блок семафоров двух портового ОЗУ. МВВ занимает на системной шине область адресов от A00000h до A1FFFFh в пространстве расширенной памяти, следовательно доступ к МВВ со стороны центрального процессора возможен только в защищенном режиме. Распределение адресов приведено в табл.4.10. Обмен с МВВ производится стандартными циклами шины ISA с одним тактом ожидания при 16-разрядной передаче данных, то есть минимальный цикл передачи 16-разрядного слова составляет 3 такта шины ISA (при частоте BCLK 8,33 МГц это составляет 360 нс.). Возможен также побайтный обмен. 7 Встроенный контроль Аппаратные средства встроенного контроля МВВ включают следующие: 1) элементы контроля контроллера КЛС; они описаны в п.4.3; 2) сторожевой таймер, встроенный в микропроцессор 80386EX; 3) узел формирования сигнала неисправности модуля, включающий сторожевой таймер и логику идентификации состояния исправности модуля. Поскольку сторожевой таймер микропроцессора используется в МВВ для контроля программного обеспечения, то для обнаружения других непредусмотренных ситуаций, например, зависание шины, не исправность микропроцессора, - используется другой (независимый) сторожевой таймер, реализованный на микросхеме MAX705, с периодом от 1,0 до 2,2 секунд. Таким образом, длительность цикла текущего встроенного контроля, управляемого микропроцессором, должна быть не более одной секунды. Этот цикл может включать, например: - обработку прерывания INT0 (в случае его возникновения) от схемы контроля выходов КЛС, - контроль микропроцессора, - контроль ОЗУ, - контроль 2-х портового ОЗУ, - контроль ЭСППЗУ по контрольным суммам, - другие виды контроля, в зависимости от наличия свободных ресурсов и времени. При завершении цикла контроля, если не обнаружено устойчивых отказов, микропроцессор записывает в регистр контроля код исправности (отсутствие обнаруженных отказов). Этот код распознается логикой, и на вход сторожевого таймера подается импульс, предотвращая его срабатывание; при этом уровень на выходе сигнала ошибки FLRL остается высоким (неактивным). Если же сторожевой таймер сработал или в регистр контроля был записан другой код, отличный от кода исправности, то на системный разъем МВВ выдается сигнал ошибки: низкий уровень FLRL*. Одиночные сбои регистрируются записью соответствующей информации в ЭСППЗУ, область от 60000h до 6FFFFh. Необходимо вести учет ресурсов ЭСППЗУ всех типов по количеству циклов программирования с записью соответствующих данных в ЭСППЗУ. Анализ ресурсов производится в процессе расширенного встроенного контроля, который запускается при включении питания или по вызову оператора. Исходное значение ресурса для каждого из двух типов ЭСППЗУ составляет 10000 циклов программирования. В случае обнаружения устойчивых дефектов микропроцессор записывает в регистр контроля код, отличный от кода исправности, форсируя выдачу сигнала ошибки. Анализ инструментальных средств 1 Выбор языка программирования МФПУ-1 является специализированной ЭВМ, в состав которого входят несколько модулей, в частности модуль ввода-вывода основанной на микропроцессоре Intel80386EX. Данный пульт и модуль ввода-вывода не имеют операционной системы и средств отладки – все эти компоненты находятся в стадии разработки. В распоряжении программиста имеются лишь небольшой набор программ, через которые можно запускать все остальные программы: - программа полной инициализации пульта и модуля ввода-вывода; - программа загрузки и передачи управления другой программе – минимальная операционная система. Обе эти программы работают на самом низком уровне (с аппаратурой - на уровне портов и регистров контроллеров) и предъявляют к себе соответствующие требования. Поэтому для программирования была выбрана среда разработки Borland C++ 3.1. Данная среда в полной мере обеспечивает разработку системного программного обеспеченья, дает возможность применения таких конструкций программирования как FOR, WHILE, SWITCH и пр., а так же поддерживает инструкции языка ассемблера, что в совокупности обеспечивает хороший инструмент для разработчика. . Основными требованиями при программировании под МВВ были: . оптимизация программируемого кода; . объем кода; . скорость выполнения; . удобочитаемость; . обеспечение надежности выполнения. Основной проблемой при программировании, было, есть и остается возможность отладки. Т.к. для данного пульта не существует полноценной операционной системы, на которой бы работали стандартные средства отладки, то для трассировки и выявления ошибок приходиться программировать, так называемые, «подпорки», которые позволяли бы отображать результату работы программ в МВВ, и вместе с этим производить ответную реакцию от центрального процессора. Все программное обеспечение разных модулей работает под управлением центрального процессора. При написании программного обеспечения под МПР задача несколько облегчается по той причине, что для данного модуля существует «минимальная ОС», которая поддерживает основные функции стандартной MS-DOS, такие как, ввод-вывод на экран, задержку по таймеру, сервис прерываний и др. В процессе написания тестового программно обеспеченья, под МПР, для процесса отладки применялась функция C++ - printf, которая выводила на экран технологического компьютера отладочную информацию. Данная ОС разработана фирмой OCTAGON Systems Corporations и функционирует как ОС удаленного терминала по RS-232 порту (ПО SMARTLINK). 2 Загрузка и функционирование программ в МВВ Особенностью загрузки программ в МВВ, является то, что загрузку можно осуществлять двумя способами:[pic] 1. сначала происходит загрузка в МПР, а уже из него в память МВВ; 2. через порт RS232 непосредственно в МВВ. При использовании первого метода, значительно усложняется процесс загрузки программ и запуска их на выполнение, но снижаются требования к средствам разработке - вполне достаточно одного компьютера. При разработке тестового программного обеспеченья использовался второй метод. Он гораздо проще, быстрее, эффективнее, но при этом требует наличия двух компьютеров: один из которых подключен через порт RS232 к МПР, а второй через такой же порт к МВВ. В такой схеме подключения разработку и процесс программирования необходимо вести одновременно на двух компьютерах. Данный метод несомненно более эффективен, но требует большего технического оборудования, что вызывает большие затраты на разработку программного обеспечения. Для загрузки программного обеспечения в модуль ввода-вывода применяются три системные программы, которые должны отработать последовательно: 1. инициализация модуля ввода-вывода и МФПУ в целом; 2. загрузка программного обеспеченья через порт RS-232 в модуль; 3. пуск загруженной программы с указанного адреса. Следует отметить, что все загружаемые программы в МВВ-34 должны быть в бинарном виде, т.е. не должны содержать никаких заголовков (как у *.EXE файла). При компиляции программы с языка C++ получается файл типа EXE, и для перевода его в бинарный формат применялась программа EXE2BIN.EXE. Программы, загруженные в МВВ, функционируют независимо от всех остальных модулей, т.к. МВВ имеет свой собственный процессор и статическую память. В связи с этим возможна отдельная от других модулей загрузка программ в МВВ, при этом программы функционирующие в других модулях никоем образом не затрагиваются. Это позволяет вести распределенное программирование. Единственной проблемой является то, что результаты выполнения программ невозможно визуально ощутить. Данная проблема устраняется путем перегрузки информации в межпроцессорное ОЗУ, а уже с помощью программ через центральный процессор происходит вывод на дисплей технологического компьютера. 3 Загрузка и функционирование программ в МПР Модуль центрального процессора, через порт RS-232, подключен к технологическому компьютеру. На этом компьютере установлена программа SmartLink фирмы Octagon Systems Corporations, которая является удаленным терминалом. При включении МФПУ-1 автоматически производятся следующие действия: . полный сброс МФПУ-1; . определение и тест микропроцессора; . определение и тест базовой и расширенной памяти; . проверка CMOS; . запуск ROM-BIOS; . запуск OCTAGON-DOS; . запуск драйверов поддержки LPT и RS-232 портов. Операционная система находится во Flash-памяти пульта. А все действия осуществляются через SmartLink. После всех перечисленных автоматических действий можно приступать к загрузке программ. Возможна загрузка как EXE файлов, так и COM. Все сообщения, выводимые программами через printf, будут видны только в терминале SmartLink. Состав и назначение тестов 1 Ориентировочный состав тестов. |Наименование теста |Вид контроля | | |КПП |ВСК | |Тест JTAG |( | | |Тест интерфейса ISA |( | | |Тест микропроцессора |( |( | |Тест канала RS-232C |( | | |Тест ППЗУ |( |( | |Тест чтения перемычек выбора режима |( | | |Быстрый тест ОЗУ | |( | |Расширенный тест ОЗУ |( |( | |Тест двух портового ОЗУ |( |( | |Непрерывный контроль аппаратуры обмена |( |( | |Расширенный контроль аппаратуры обмена |( |( | |Тест сигнала «Отказ МВВ» |( |( | |Тест контроллера КЛС |( |( | |Тест обмена по КЛС |( | | |Тест программирования ЭСППЗУ |( | | |Тест программирования Flash-ЗУ |( | | 2 Контроля аппаратуры обмена 1 Непрерывный контроль Модуль МВВ должен периодически переписывать информацию из первой во вторую ячейки сторожевого таймера. Период такой операции должен соответствовать максимальному периоду обмена по КЛС, но не реже одного раза в 1с. Несоответствие информации в ячейках сторожевого таймера через указанное время после записи информации в первую ячейку позволяет МПР констатировать отказ связи с МВВ или «зависание» последнего. 2 Расширенный контроль В процессе контроля процессор МПР является ведущим, МВВ - ведомым. Для перехода в режим расширенного контроля аппаратуры обмена МПР должен записать единицу в 8 разряд управляющего слова, после чего для проведения каждого из тестов записывать соответствующие параметры в разряды 7 - 0 управляющего слова. 1. Разряды 1 ( 0 содержат код тестируемого устройства: . 1 – семафор; . 2 - рабочая область; . 3 – прерывания; 2. Разряды 3 ( 2 содержат код теста. 3. Разряды 7 ( 4 дополнительный параметр. В начале выполнения теста МВВ должен установить нуль в 0 и 1 разряды слова состояния, по окончании выполнения очередного теста - установить единицу: - при успешном завершении теста - в 0 разряд слова состояния; - при обнаружении отказа - в 1 разряд. 3 Контроль семафоров Для контроля каждого из семафоров процессоры должны произвести 4 теста: . код 0 - чтение МВВ занятого семафора; . код 1 - чтение МВВ свободного семафора; . код 2 - чтение МПР занятого семафора; . код 3 - чтение МПР свободного семафора. Для проведения каждого из тестов должны быть произведены следующие действия. 1. МПР записывает в управляющее слово: - 6 ( 4 разряды - номер семафора (0 ( 7); - 3 ( 2 разряды - код теста (0 ( 3). 2. МВВ производит: - в тесте 0 - читает семафор и сравнивает с 1; - в тесте 1 - читает семафор и сравнивает с 0; - в тесте 2 - записывает в семафор 0; - в тесте 3 - записывает в семафор 1. 3. МВВ записывает результат в 0 или 1 разряд слова состояния. 4. МПР принимает окончательное решение о результате теста. 4 Контроль рабочей области Для контроля рабочей области должно быть произведено четыре теста: - код 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 разряд слова состояния; - МПР принимает окончательное решение о результате теста. 5 Контроль прерываний Контроль прерываний производится в следующем порядке. 1. МПР в управляющем слове задает требуемый режим. 2. МВВ, получив прерывание, устанавливает все разряды слова состояния в 0. 3. МПР, получив прерывание, устанавливает все разряды управляющего слова в 0. 4. МВВ, получив прерывание, устанавливает нулевой (младший) разряд слова состояния в 1. 5. МПР, получив прерывание, устанавливает тот же разряд управляющего слова в 1. 6. МВВ, получив прерывание, устанавливает тот же разряд слова состояния в 0. 7. МПР, получив прерывание, устанавливает тот же разряд управляющего слова в 0. 8. Действия 4 - 7 повторяются для разрядов 1 - 15. 9. МВВ записывает результат в 0 или 1 разряд слова состояния, возвращая остальным разрядам значения, которые они имели до начала теста. 10. МПР принимает окончательное решение о результате теста. Требования к функциональным характеристикам тестов 1 Требования к программе В состав ТПО входят программные средства встроенного контроля (ВСК) и контрольно-проверочная программа (КПП). ВСК предназначен для текущего и расширенного контроля в процессе функционирования МФПУ в составе системы. Программные и аппаратные средства ВСК должны обеспечивать полноту контроля не менее 95%. Программные средства ВСК физически размещаются в энергонезависимых ЗУ модулей МВВ и МПР. КПП предназначена для полной проверки работоспособности МВВ с применением соответствующих технических средств. 2 Требования к ВСК В состав программных средств ВСК должны входить: - обработчик прерывания по входу INT0 микропроцессора 386EX от схемы аппаратного контроля выходов КЛС; - обработчик прерывания по входу NMI микропроцессора 386EX от сторожевого таймера программного обеспечения; - обработчик сигнала «Отказ МВВ»; - программные средства текущего контроля; - программные средства расширенного контроля. 1. Обработка прерывания по входу INT0 (что соответствует входу IR1 ведущего контроллера прерываний) сводится, в соответствии с [1], к считыванию из регистра контроля информации об ошибке (в формате: номер выхода КЛС, код на входе передатчика, код на выходе передатчика). 2. При обработке прерывания по входу NMI фиксируются место в прерванной программе и время срабатывания сторожевого таймера. 3. Сигнал "Отказ МВВ", поступающий на модуль МДС, следует обрабатывать в соответствии с техническим описанием модуля МДС. 1 Программные средства текущего контроля Текущий контроль выполняется в промежутках времени, свободного от выполнения целевых функций программного обеспечения, но не реже, чем один раз в секунду. В состав тестов текущего контроля должны входить: - тест микропроцессора; - тест ППЗУ по контрольным суммам, - другие тесты при наличии свободных аппаратных и временных ресурсов. Кроме того, программные средства текущего контроля должны взаимодействовать с целевым программным обеспечением для поддержки: - непрерывного контроля данных, принимаемых и передаваемых по КЛС путем формирования и контроля битов паритета и анализа регистров состояния контроллера КЛС, - периодического контроля данных, хранящихся в ОЗУ и в двух портовом ЗУ, по битам паритета и контрольным суммам. Текущий ВСК не должен влиять на входные/выходные сигналы и данные МВВ. Результаты текущего ВСК должны анализироваться на частоту появления и устойчивость дефектов и запоминаться в ЭСППЗУ модуля МВВ (область адресов от 60000h до 6FFFFh) или МПР с датой выявления ошибки с целью последующего анализа. В случае успешного завершения текущего ВСК в регистр контроля записывается код исправности, а при выявлении устойчивых дефектов записью в этот регистр кода ошибки инициируется сигнал «Отказ МВВ». 2 Программные средства расширенного контроля. Расширенный контроль должен запускаться в двух случаях: - автоматически после включения питания; - по команде оператора. При автоматическом запуске расширенного контроля последовательно выполняются тесты, указанные в графе «ВСК» табл.2. Состав тестов может уточняться в процессе разработки с учетом общего времени, отведенного на расширенный контроль МФПУ (не более 20 секунд), и с учетом возможности параллельного тестирования МВВ и других модулей МФПУ. При запуске расширенного контроля по команде оператора на дисплей МФПУ должно выдаваться меню, определяющее функциональный состав и модификации тестов. Оператор должен иметь возможность разрешить или запретить любую функцию тестирования, прервать выполнение тестов. При проведении расширенного контроля выдача информации на выходные КЛС должна быть заблокирована, т.е. бит TFE в регистре контроля (разрешение передатчиков КЛС) должен быть очищен. После завершения расширенного контроля МВВ начинает (продолжает) выполнять целевую функцию. Ошибки обрабатываются аналогично текущему контролю. 3 Требования к КПП Должно быть предусмотрено функционирование КПП МВВ как в составе КПП МФПУ, так и самостоятельно. Общее управление проверкой МВВ и диалог с оператором осуществляется технологическим компьютером. Протокол взаимодействия с МВВ по кабелю 2 приведен в ПРИЛОЖЕНИИ к настоящему документу. Взаимодействие с МПР по кабелю 1 и взаимодействие между МПР и МВВ по шине ISA определяются соответствующими протоколами. При запуске КПП должна проверять наличие связи по каждому из трех кабелей и, в зависимости от этого, формировать меню для выбора конфигурации тестов. Отсутствие или неисправность одного или любых двух кабелей не должно приводить к завершению программы. КПП должна использовать для проверки МВВ преимущественно модули встроенного контроля, а в тех случаях, когда ВСК не обеспечивает полного контроля ввиду аппаратных и временных ограничений, КПП должна загружать в ОЗУ модулей МВВ и/или МПР собственные программные модули и запускать их выполнение. 4 Требования к отдельным тестам 1 Тест JTAG Прежде всего, командой IDCODE следует прочитать код идентификации микропроцессора (он должен быть равен 28270013h). Затем командой EXTEST перейти в режим тестирования внешних цепей микропроцессора и произвести выборочную проверку записи и чтения по нескольким адресам на внутренней шине. Поскольку канал JTAG медленный, этим тестом можно проверить лишь ограниченное количество адресов. 2 Тест интерфейса ISA Проверяются адреса МВВ на системной шине, т.е. ячейки двух портового ОЗУ, включая семафоры, и сигнал «Сброс». При этом обращение к двух портовому ОЗУ по внутренней шине МВВ должно быть заблокировано, а семафоры предварительно очищены. 3 Тест микропроцессора Тест микропроцессора 80386EX включает тест ядра микропроцессора (возможно использование встроенного теста, запускаемого по сигналу «Сброс»") и тестов периферийных устройств: последовательного порта, таймеров, контроллера прерываний, контроллера ПДП,- с использованием диагностических режимов и регистров. 4 Тест канала RS-232C Предварительно проверяется наличие связи (подключен ли кабель) путем последовательной установки нуля и единицы на выходе DTR и считывания установленных значений на входе DSR. Далее производится «Установка связи» и проверяется правильность передачи данных путем посылки несколько раз команды «Тест» с варьированием значения параметра. 5 Тест ППЗУ Проверяются контрольные суммы ППЗУ всех типов и ресурсы по количеству циклов программирования. Информация о ресурсах должна храниться в одной из ячеек ЭСППЗУ (область от 60000h до 6FFFFh). При исчерпании ресурса выдается предупреждающее сообщение. 6 Тест чтения перемычек выбора режима Проверяется правильность считывания четырех перемычек выбора режима MOD1...MOD4 и перемычки разрешения программирования EPR на внешнем разъеме X1 МФПУ. Перемычки устанавливаются оператором по запросу программы и считываются программой. 7 «Быстрый» тест ОЗУ и «расширенный» тест ОЗУ Поскольку полная проверка ОЗУ (256 Кбайт) занимает достаточно длительное время, автоматически при ВСК запускается «быстрый»" тест ОЗУ, содержащий 2 или 4 прохода, например: запись и чтение шахматного кода, затем запись и чтение обратного шахматного кода. «Расширенный» тест ОЗУ запускается оператором или из КПП. 8 Тест двух портового ОЗУ Проверяется запись и чтение двух портового ОЗУ, включая семафоры, по внутренней шине МВВ. При этом обращение к двух портовому ОЗУ по системной шине (со стороны МПР) должно быть заблокировано, а семафоры предварительно очищены. 9 Тест сигнала «Отказ МВВ» Установка и сброс сигнала «Отказ МВВ» осуществляется через регистр контроля. Считывание сигнала "Отказ МВВ" производится путем обращения к модулю МДС со стороны МПР. Алгоритм считывания приведен в техническом описании модуля МДС. 10 Тест контроллера КЛС Предназначен для автономной проверки контроллера КЛС. При этом используются: - встроенные тесты, запускаемые через регистры самоконтроля; - программно-управляемый контроль с использованием внутренних обратных связей. При этом по умолчанию выходы всех передатчиков должны быть отключены путем очистки бита TFE в регистре контроля, а данные для тестирования выбираются мультиплексором со входов микросхем передатчиков и подаются на тестовые входы приемников. Оператор должен также иметь возможность включить передатчики в цепь обратной связи. 11 Тест обмена по КЛС Этот тест должен имитировать реальный режим эксплуатации МВВ. Информация с выходов КЛС через жгут-заглушку (см. табл.1) передается на входы. Обмен с МПР должен соответствовать протоколу. Все аппаратные средства МВВ (в том числе сторожевой таймер, контроллер прерываний) должны быть задействованы как в реальном режиме. Тест должен работать непрерывно и завершаться по команде оператора. 12 Тест программирования ЭСППЗУ Производится запись с последующей проверкой в ЭСППЗУ по адресам от 60000h до 7FFFFh (либо, по выбору оператора, в отдельные ячейки, либо по всем адресам). Содержимое ЭСППЗУ предварительно сохраняется. Этот тест запускается только по явному указанию оператора. 13 Тест программирования Flash-ЗУ Выполняется цикл «Стирание – Запись – Верификация» Flash-ЗУ. Содержимое Flash-ЗУ предварительно сохраняется. Этот тест запускается только по явному указанию оператора. 5 Требования к надежности ТПО должно иметь функционально-модульную структуру; при этом отказ отдельного функционального узла аппаратуры не должен влиять на работоспособность ТПО в целом. При отказе функционального узла аппаратуры программные модули, использующие этот узел, должны, если есть возможность, переключаться на другой узел. Например, при отказе основного ОЗУ использовать для хранения данных ячейки двух портового ОЗУ, при отказе канала связи через COM2 использовать канал обмена через двух портовое ОЗУ и т.д. 6 Требования к информационной и программной совместимости КПП должна работать на любом совместимом с IBM PC компьютере, имеющем в своем составе основную память не менее 512 килобайт, дисковод, последовательный порт RS-232C, 80-колонный монитор, под управлением MS- DOS, начиная с версии 2.1 и выше. Описание функционирования КПП и ВСК 1 Модуль центрального процессора 1 «Контроль аппаратуры обмена» 1 Подпрограмма формирования управляющего слова void Set_UPR_SL (int DOP, int CODE_TEST, int CODE_USTR) { CtenExt (BASADR+SL_SOST,&sost_sl); sost_sl &= 0xFFFC; ZapisExt (BASADR+SL_SOST,sost_sl); CtenExt (BASADR+SL_UPR,&upr_sl); upr_sl &= 0xFF00; upr_sl |= CODE_USTR | (CODE_TEST << 2) | (DOP << 4); ZapisExt (BASADR+SL_UPR,upr_sl);} Данная подпрограмма предназначена для формирования в управляющем слове сообщения МВВ о номере тестируемого устройства, кода теста, а также дополнительной информации. Вход: 1. дополнительный код; 2. код теста; 3. код устройства. Выход: нет. Подпрограмма работает непосредственно с расширенной памятью и адресуется используя смещение. Логика: 1. Чтение слова состояния и обнуление младших двух разрядов, для того, чтобы МВВ через них вернул код завершения теста; 2. Чтение слова управления и выставление в нем кода тестируемого устройства со всеми дополнительными параметрами. 2 Подпрограмма получения кода выхода из тестов МВВ uint ExitCod (void) { uint ExitCodeMvv; CtenExt (BASADR+SL_SOST,&ExitCodeMvv); ExitCodeMvv &= 0x0003; return ExitCodeMvv; } Данная программа предназначена для получения кода выхода из теста от МВВ. Вход: нет. Выход: код выхода 1 – все в порядке 2 – ошибка Логика: Происходит чтение слова состояния и обнуление всех разрядов кроме младших двух. Именно в них и передается результат. 3 Подпрограмма ожидания ответа от МВВ uint WaitOtvetMww () { uint OK_ERROR_MWW; uint cnt=0; while ((OK_ERROR_MWW=ExitCod())==0 && cnt++<0x100) delay (5); if (OK_ERROR_MWW == 0) printf ("\nНет ответа от МВВ !!!\n"); return OK_ERROR_MWW; } Данная программа предназначена для остановки центрального процессора и ожидания завершения работы МВВ, с последующей передачей кода ответа модулю МПР. Вход: нет. Выход: ответ МВВ (см. п. 5.1.1.2.) Логика: подпрограмма работает в цикле до тех пор, пока либо не придет код ответа от МВВ или не закончится цикл. Если цикл закончится, то подпрограмма констатирует отказ МВВ, и вернет 0. Иначе возвращается код ответа от МВВ. 4 Обработчик прерываний от МВВ (тест контроля прерываний) void interrupt KONT_INTERRUPT (...) { CtenMwwInt (SL_SOST,&sost_sl); ZapisMwwInt (SL_UPR,sost_sl); //Сбрасываем ведущий и ведомый каскад asm mov al,20h asm out 20h,al asm out 0A0h,al } Назначение: тест контроля прерываний. Вход: нет. Выход: нет. Логика: данный обработчик читает слово состояния и переписывает его в слово управления. После чего сбрасывается ведущий и ведомый каскады, для того, чтобы сообщить контроллеру прерываний об уже обработанном прерывании. 5 Режим контроля прерываний uint KontMww (void) Назначение: задающая программа, вызывает тот или иной тест. Вход: нет. Выход: 0-ошибки нет, иначе код ошибки Логика: Данная подпрограмма вызывается в процессе инициализации обмена с МВВ и предназначена для контроля аппаратуры обмена, в который входят: контроль семафоров, рабочей области и прерываний. Данная подпрограмма выполняет следующие функции: 1. Перевод МВВ в нужный тест; 2. Прием от МВВ кода завершения теста; 3. Анализ ошибок и вывод результатов на ТК. При входе головной программы в режим «контроль аппаратуры обмена» управление передается в данную подпрограмму, т.е. она является менеджером данного режима. 2 «Расширенный контроль» 1 Анализ теста от МВВ char* AnalysError ( uint error ) { switch ( error ) { case NO_ERR : return "OK"; case CHIP : return "микропроцессор - ERROR"; case FLASH : return "контрольная сумма ППЗУ - ERROR"; case STAT_RAM : return "статическое ОЗУ - ERROR"; case OTK_MVV : return "сигнал 'Отказ МВВ' - ERROR"; case KON_KLS : return "контроллер КЛС - ERROR"; case ALL_SBOI : return "общий сбой"; } return "неизвестная ошибка !!!"; } Назначение: анализ исправности МВВ и передача строки для последующего вывода на экран ТК. Вход: номер ошибки. Выход: строка сообщения. Логика: после прохождения расширенного контроля МВВ, через слово исправности, передает в МПР код завершения всех тестов, а данная программа этот код переводит в строку. 2 Менеджер расширенного контроля uint RasKont () { uint sost_sl=0, slIspMww; printf ("Расширенный контроль - "); //Записываем ошибку, если тест пройдет нормально - то ошибки не будет ZapisMwwInt (7,SL_ISPR_TIP,ALL_SBOI); //Ожидаем прихода результата uint cnt=0; do { CtenMwwInt (7,SL_SOST, &sost_sl); //printf ("Слово состояния - %Xh\n",sost_sl); } while ( (sost_sl == SS_RASKON) && (cnt++<0x100) ); //Считываем результат CtenMwwInt (7,SL_ISPR_TIP,&slIspMww); //Выводим его на экран ТК printf ("%s\n",AnalysError (slIspMww)); return slIspMww; } Назначение: менеджер режима «расширенного контроля». Вход: нет. Выход: код ошибки. Логика: подпрограмма при входе записывает ошибку в «слово исправности» и ожидает перехода МВВ из режима «расширенного контроля» в любой другой режим (в действительности в режим «ожидание»). После этого считывает «слово исправности» и анализирует его состояние, выводит результат на экран ТК и возвращает код ошибки. 2 Модуль ввода-вывода 1 «Контроль аппаратуры обмена» 1 Подпрограмма установки положительного завершения теста void SetOK (void) { CtenMpr(SL_SOST,&sost_sl); //sost_sl &= 0xFFFC;//очищаем 2 мл.бита sost_sl |= 1; ZapisMpr(SL_SOST,sost_sl); } Назначение: передача положительного результата теста в МПР через «слово состояния» Вход: нет. Выход: нет. Логика: подпрограмма считывает «слово состояния» и устанавливает 1 (единицу) в младшем разряде, после чего производит запись. 2 Подпрограмма установки отрицательного завершения теста void SetError (void) { CtenMpr(SL_SOST,&sost_sl); //sost_sl &= 0xFFFC;//очищаем 2 мл.бита sost_sl |= 2; ZapisMpr(SL_SOST,sost_sl); } Назначение: передача отрицательного результата теста в МПР через «слово состояния» Вход: нет. Выход: нет. Логика: подпрограмма считывает «слово состояния» и устанавливает 2 (двойку) в младшем разряде, после чего производит запись. 3 Обработчик контроля прерываний от МПР void KONT_INTERRUPT () { //ZapisMpr(10,0XFFFF); CtenMpr (SL_UPR,&upr_sl); switch (upr_sl){ case 0x0000:sost_sl=0x0001;break; case 0x0001:sost_sl=0x0002;break; case 0x0002:sost_sl=0x0004;break; case 0x0004:sost_sl=0x0008;break; case 0x0008:sost_sl=0x0010;break; case 0x0010:sost_sl=0x0020;break; case 0x0020:sost_sl=0x0040;break; case 0x0040:sost_sl=0x0080;break; case 0x0080:sost_sl=0x0100;break; case 0x0100:sost_sl=0x0200;break; case 0x0200:sost_sl=0x0400;break; case 0x0400:sost_sl=0x0800;break; case 0x0800:sost_sl=0x1000;break; case 0x1000:sost_sl=0x2000;break; case 0x2000:sost_sl=0x4000;break; case 0x4000:sost_sl=0x8000;break; default:sost_sl=0xFFFF; //Признак окончания теста } ZapisMpr(SL_SOST,sost_sl); asm DW 0FAAh //Выход из прерывания } Назначение: контроль прерываний. Вход: нет. Выход: нет. Логика: данный обработчик является тестом контроля прерываний от МПР. Управление сюда передается при записи МПР в «управляющее слово» какой- либо информации. МВВ в зависимости от считанной из «управляющего слова» информации посылает новую информацию в «слово состояния», тем самым генерирую аппаратное прерывание для МПР. Примечание: 1. данное прерывание является SMI – немаскируемое; 2. обработчик должен располагаться по адресу 38000h. 4 Контроль аппаратуры обмена void KontObm () Назначение: тестирование контроля аппаратуры обмена. Вход: нет. Выход: нет. Логика: после входа МВВ в режим «контроля аппаратуры обмена» управление передается менеджеру данного режима, который в свою очередь вызывает данную подпрограмму. В нее входит контроль семафоров, рабочей области и прерываний. Данная подпрограмма выполняет следующие функции: 1. разбор «управляющего слова» на составляющие и выделение кода тестируемого устройства и номера теста с дополнительной информацией; 2. тестирование нужного устройства; 3. передача результата теста через «слово состояния» в МПР. 4. синхронизация действий МВВ с МПР. 5 Менеджер «контроля аппаратуры обмена» uint RezimKontObm () { //Делать пока режим не смениться do { CtenMpr (SL_UPR,&upr_sl); if (upr_sl!=old_upr_sl) { old_upr_sl=upr_sl; //Вызываем контроль обмена KontObm (); } } while ((upr_sl & SS_REZIM) == SS_KONTOBM); return 0;} Назначение: поддержка взаимосвязи головной инициализирующей программы с самим тестированием. Вход: нет. Выход: код ошибки. Логика: сюда управление передается при переводе МВВ в режим «контроль аппаратуры обмена». Подпрограмма считывает «слово управления» и запоминает его, после чего вызывает тестирование. Действия выполняются до тех пор, пока не сменится режим. 2 «Расширенный контроль» 1 Чтение ОЗУ int ReadRam ( uint seg, uint addr ) { _ES = seg; _SI = addr; asm MOV AX, word ptr ES:SI return _AX; } Назначение: чтение любой области памяти. Вход: сегмент, смещение. Выход: прочитанное значение 2 Запись в ОЗУ void WriteRam ( uint seg, uint addr, int znc ) { _ES = seg; _SI = addr; _AX = znc; asm MOV word ptr ES:SI, AX } Назначение: запись слова в область памяти. Вход: сегмент, смещение, значение. Выход: нет. 3 Менеджер «расширенного контроля» uint RasKont () { ret=0; ret = Chip_Test(); //микропроцессор if (ret==0) ret = Flash_Test(); //FLASH-память if (ret==0) ret = Ram_Test(); //быстрый тест стат.ОЗУ if (ret==0) ret = Ext_Ram_Test();//расширеный тест стат.ОЗУ if(ret==0)ret= Signal_Otkaz_Mww_Test();//сигнал "Отказ МВВ" if (ret==0) ret = Kontrol_Kls_Test(); //контроллер КЛС //Запись результата теста для МПР ZapisMpr (SL_ISPR_TIP,ret); ZapisMpr (SL_SOST,SS_OZIDANIE); return ret; } Назначение: последовательное тестирование модуля ввода-вывода. Вход: нет. Выход: код ошибки. Логика: происходит последовательное тестирование всех компонентов МВВ и включает в себя следующие тесты: 1. Тест микропроцессора; 2. FLASH-памяти; 3. Быстрый тест ОЗУ; 4. Расширенный тест ОЗУ; 5. Тест сигнала «ОТКАЗ МВВ»; 6. Тест контроллера КЛС. 3 Вспомогательные функции 1 Процедура открытия семафоров (МВВ) uint OpenSf (uint nSf) { osRet = ERR_NOOPENSF, osCnt = 98; // 0; if (nSf > 7) return 1; nSf = 0xFE00 + (nSf << 1); outport (nSf,0); while ((osRet!=0)&&(osCnt++<=100)) osRet = inport (nSf); return osRet; } Назначение: открытие семафора. Вход: номер семафора (0-7) Выход: код ошибки Логика: происходит проверка на номер семафора. Происходит попытка открытия. Далее программа читает значение с соответствующего порта в цикле не более 100 раз и возвращает код ошибки. 2 Процедура закрытия семафоров (МВВ) uint CloseSf (uint nSf) { if (nSf > 7) return 1; nSf = 0xFE00 + (nSf << 1); outport (nSf,1); return NO_ERR; } Назначение: закрытие семафора. Вход: номер семафора (0-7) Выход: код ошибки Логика: происходит проверка на номер семафора. Посылаем значение (1) в соответствующий порт. Закрытие происходит всегда, если соответствующий семафор был открыт. 3 Чтение из двух портового ОЗУ (МВВ) uint CtenMprSf (uint nSf, uint adr, int* znc) { cmsRet = OpenSf (nSf); if (!cmsRet) { CtenMpr (adr, znc); cmsRet = CloseSf (nSf); } return cmsRet; } Назначение: чтение слова из двух портового ОЗУ. Вход: семафор, адрес, ячейка памяти куда будет помещено прочитанное значение. Выход: код ошибки. Логика: открытие семафора, чтение ячейки памяти, закрытие семафора, возврат кода ошибки. 4 Запись в двух портовое ОЗУ (МВВ) uint ZapisMprSf (uint nSf, uint adr, int znc) { zmsRet = OpenSf (nSf); if (!zmsRet) { ZapisMpr (adr, znc); zmsRet = CloseSf (nSf); } return zmsRet; } Назначение: запись слова в двух портовое ОЗУ. Вход: семафор, адрес, значение. Выход: код ошибки. Логика: открытие семафора, запись значения в ячейку памяти, закрытие семафора, возврат кода ошибки. 5 Процедура открытия семафоров (МПР) uint OpenSf ( uint nSf ) { uint ret,scet = 0,status = 1; if ( nSf > 7 ) return ERR_OTL; ulong adrSf = 0xA08000l + ( nSf << 1 ); ret = ZapisExt ( adrSf, 0 ); while ((status!=0) && (scet++<100) && (!ret)) ret = CtenExt (adrSf, &status); if (!ret) if(status)ret = ERR_NOOPENSF; return ret; } Назначение: открытие семафора. Вход: номер семафора (0-7) Выход: код ошибки Логика: происходит проверка на номер семафора. Происходит попытка открытия нужного семафора путем записи 0 (ноль) в соответствующую ячейку памяти двух портового ОЗУ. Далее программа читает значение из этой ячейки в цикле не более 100 раз и возвращает код ошибки. 6 Процедура закрытия семафоров (МПР) uint CloseSf ( uint nSf ) { if ( nSf > 7 ) return ERR_OTL; return ZapisExt ( 0xA08000l+(nSf<<1), 1 ); } Назначение: закрытие семафора. Вход: номер семафора (0-7) Выход: код ошибки Логика: происходит проверка на номер семафора. Записываем значение (1) в соответствующую ячейку двух портового ОЗУ. Закрытие происходит всегда, если соответствующий семафор был открыт. 7 Чтение из двух портового ОЗУ (МПР) uint CtenMwwInt (uint nSf, uint adr, uint* znc) { uint ret = OpenSf (nSf); if (!ret) ret = CtenExt (BASADR+adr, znc); if (!ret) ret = CloseSf (nSf); return ret; } Назначение: чтение слова из двух портового ОЗУ. Вход: семафор, адрес, ячейка памяти куда будет помещено прочитанное значение. Выход: код ошибки. Логика: открытие семафора, чтение ячейки памяти, закрытие семафора, возврат кода ошибки. 8 Запись в двух портовое ОЗУ (МПР) uint ZapisMwwInt (uint nSf, uint adr, uint znc) { uint ret = OpenSf (nSf); if (!ret) ret = ZapisExt (BASADR+adr, znc); if (!ret) CloseSf (nSf); return ret; } Назначение: запись слова в двух портовое ОЗУ. Вход: семафор, адрес, значение. Выход: код ошибки. Логика: открытие семафора, запись значения в ячейку памяти, закрытие семафора, возврат кода ошибки. 4 Инициализация обмена с МВВ При старте контрольно-проверочной программы (КПП) в МПР запускается подпрограмма инициализации обмена с МВВ, в состав которой входят следующие компоненты, вызывающиеся по очереди в случае успешного завершения предыдущей подпрограммы: . Перевод МВВ в режим «ожидание»; . Перевод МВВ в режим «контроль аппаратуры обмена»; . Контроль аппаратуры обмена; . Перевод МВВ в режим «расширенный контроль»; . Расширенный контроль; . Перевод МВВ в режим «ожидание»; . Создание базы данных в двух портовом ОЗУ; . Перевод МВВ в режим «чтение БД»; . Проверка – загружена ли БД в МВВ; . Режим «Обмен». При успешном завершении всех вышеперечисленных пунктов инициализация МВВ считается успешной, в противном случае незавершенной, а на ТК выдается соответствующее сообщение. 5 Режим «контроль аппаратуры обмена» При входе в режим «контроль аппаратуры обмена» последовательно запускаются следующие тесты: 1. контроль семафоров; 2. контроль рабочей области; 3. контроль прерываний. 1 Контроль семафоров Контроль семафоров включает в себя цикл из восьми семафоров, на каждый из которых приходится по четыре теста и проходит в следующем порядке: 1. чтение МВВ занятого семафора: - открываем семафор из МПР; - формируем слово управления; - ожидаем ответа от МВВ (МВВ должен попытаться открыть семафор и в случае неудачи открытия выдать правильный результат); - закрываем семафор из МПР. 2. чтение МВВ свободного семафора: - закрываем семафор из МПР; - формируем слово управления; - ожидаем ответа от МВВ (МВВ должен попытаться открыть семафор и в случае удачи выдать правильный результат). 3. чтение МПР занятого семафора: - формируем слово управления; - ожидаем ответа от МВВ (МВВ должен открыть семафор); - МПР открывает семафор, если не открывается, то все в порядке; - МПР дает команду МВВ на закрытие семафора (все семафоры после любых операций должны закрываться); - закрываем семафор из МПР. 4. чтение МПР свободного семафора: - формируем управляющее слово; - ожидаем ответа от МВВ (МВВ должен закрыть семафор); - МПР открывает семафор (если открылся, то все в порядке); - МПР закрывает семафор. После прохождения каждого теста в МПР происходит анализ ответов МВВ и МПР, и в зависимости от результатов на ТК выводится код ошибки. 2 Контроль рабочей области Контроль рабочей области включает в себя два направления передачи информации (из МПР в МВВ, и наоборот, из МВВ в МПР) и четыре набора тестов. . нулевое направление (МПР ( МВВ): 1. передача нулевой информации: записываем ноль в двух портовое ОЗУ; 2. передача единичной информации: записываем единицу в двух портовое ОЗУ; 3. передача шахматной информации: в четные адреса двух портового ОЗУ записываем значение 5555h, а в нечетные – AAAAh; 4. передача обратной шахматной информации: в четные адреса двух портового ОЗУ записываем значение AAAAh, а в нечетные – 5555h; После записи информации формируем управляющее слово и ожидаем ответа от МВВ. МВВ, после принятия команды на тест считывает информацию из двух портового ОЗУ и сверяет ее с эталоном, т.е. с 0, 1, 5555h и AAAAh, AAAAh и 5555h в соответствующем тесте. После считывания информации МВВ передает код ошибки в МПР. Далее, МПР анализируем ответ и выдаем ошибку на экран ТК, если произошла ошибка выдается адрес памяти ДПОЗУ, где произошла ошибка. . единичное направление (МВВ ( МПР): Формируем управляющее слово и ожидаем ответа от МВВ. МВВ приняв задание запускает нужный тест с передачей нулевой, единичной, шахматной или обратной шахматной информации. МПР в этот момент ожидает ответа от МВВ. Получив этот ответ, МПР начинает считывать информацию и сравнивать ее с эталоном. В случает ошибки выдается соответствующее сообщение с указанием адреса где произошла ошибка. После прохода теста, более полно анализируется вся принятая и полученная информация с последующей выдачей информации на экран ТК. 3 Контроль прерываний Контроль прерываний начинается с их инициализации. Для этого, В МПР, сохраняется старый обработчик аппаратных прерываний от МВВ и устанавливается новый (int 72h). Маскируем 72h-вектор, тем самым разрешаем их и запрещаем все остальные. Формируем слово управления и разрешаем прерывания в МВВ от МПР, после чего базовая программа МПР встает на ожидание конца теста. МВВ приняв управляющее слово записывает по адресу 38000h (адрес не перемещаемый) команду «длинного» перехода на обработчик прерывания от МПР (прерывания SMI микропроцессора i80386EX). МВВ запоминает слово состояния и записывает в него ноль, тем самым генерируя для МПР аппаратные прерывания от МВВ. МПР получив прерывание считывает слово состояния и переписывает его в слово управления, тем самым генерирую аппаратное прерывание для МВВ от МПР. После чего МПР сбрасывает оба каскада контроллера прерываний, тем самым подтверждая для микропроцессора свою обработку. МВВ получив прерывание от МПР, считывает слово управления, анализирует полученную информацию и записывает новую информацию в слово состояния. И так 16 раз, со смещением бита влево в слове состояния и слове управления после чего констатируется окончание теста. При достижении окончания теста оба процессора выходят из прерываний и обмениваются полученной информацией, после чего МПР принимает окончательное решение о прошедшем тесте и выдает его на экран ТК. 6 Режим «расширенный контроль» После выполнения «контроля аппаратуры обмена» и в случае успешного его завершения МФПУ-1 переводится в режим «расширенного контроля». Данный режим предназначен для самоконтроля МВВ и включает в себя следующие компоненты: . тест микропроцессора; . тест ППЗУ; . быстрый тест статического ОЗУ; . расширенный тест статического ОЗУ; . тест сигнала «отказ МВВ»; . тест контроллера КЛС. Все тесты запускаются последовательно, и в случае малейшего сбоя тестирование полностью прекращается, а в МПР передается код ошибки, который ее анализирует и выдает сообщение на экран ТК. 1 Тест микропроцессора Использован стандартный тест применяемый в BIOS’ах современных компьютеров. 2 Тест ППЗУ Проверяется контрольная сумма всех 32-х разрядных слов, которая должна быть равна 0. Для этого при организован цикл на прохождение ППЗУ памяти, по окончании которого возвращается код ошибки. 3 Быстрый тест статического ОЗУ Для тестирования был выбран метод применяемый при тестировании рабочей области двух портового ОЗУ в режиме «контроля аппаратуры обмена»: . запись в область статического ОЗУ шахматной информации с последующим ее чтением и анализом; . запись в область статического ОЗУ обратной шахматной информации с последующим ее чтением и анализом; После прохождения теста возвращается код ошибки. 4 Расширенный тест статического ОЗУ При тестировании сначала вызывается «быстрый тест статического ОЗУ», а потом добавляется записью нулевой и единичной информации. После прохождения теста возвращается код ошибки. 5 Тест сигнала «отказ МВВ» Не реализован по техническим причинам. 6 Тест контроллера КЛС . Через регистры самоконтроля запускается внутренний (аппаратный) тест контроллера КЛС; . Ожидается конец тестирования; . Считывание результатов теста с последующим их анализом. После прохождения теста возвращается код ошибки. Экологичность и безопасность проекта. Введение. Безопасность жизнедеятельности - наука о сохранении здоровья и безопасности человека в среде обитания, призванная выявить и идентифицировать опасные и вредные факторы, разрабатывать методы и средства защиты человека снижением опасных и вредных факторов до приемлемых значений, вырабатывать меры по ликвидации последствий чрезвычайных ситуаций мирного и военного времени. Вопросы обеспечения безопасности труда являются неразрывной частью любого технологического процесса. Осуществление всего комплекса мероприятий по безопасности жизнедеятельности (БЖД) позволяет решить одну из главных ее задач - свести к минимуму вероятность поражения или заболевания работающего с одновременным обеспечением комфорта на рабочем месте. Улучшение условий труда приводит к социальным результатам: к улучшению здоровья трудящихся к укреплению трудовой дисциплины, росту производительности труда и общественной активности. Значение БЖД в условиях производства состоит в знании и строгом контроле за соблюдением организационных, технических, санитарно- гигиенических норм, внедрение и совершенствование безопасных и безвредных методов и приемов выполнения работ. С вопросами охраны труда непосредственно связано и решение вопросов охраны природы. Прежде всего предусматривается совершенствовать технологические процессы и транспортные средства с целью сокращения выбросов вредных веществ в окружающую среду, увеличить выпуск высокоэффективных газо- пылеулавливающих аппаратов водоочистного оборудования, а также приборов и автоматических станций контроля за состоянием окружающей среды. Научно-технический прогресс внес коренные изменения не только в технологию производства, но и в содержание труда работающих. Современные формы труда характеризуются рядом особенностей. Одной из отличительных особенностей научно технического прогресса в современных условиях является тенденция широкого использования персональных электронно- вычислительных машин (ПЭВМ) в самых различных сферах человеческой деятельности. Основным направлением деятельности в области охраны труда должно явиться создание принципиально новой безопасной и безвредной для человека техники и технологии, современных коллективных и индивидуальных средств защиты от опасных и вредных производственных факторов. Для чего необходимо научное обоснование их предельно допустимых значений, которые не вредны и не опасны для организма человека, и создания современных приборов для измерения параметров указанных факторов. На основе научных исследований должна получить дальнейшее развитие система управления работой по охране труда, обучения работающих безопасным приемам труда. 1 Анализ опасных и вредных факторов. Условия труда на рабочих местах складываются под воздействием большого числа факторов, различных по своей природе, формам проявления, характеру действия на человека. В соответствии с [4] опасные и вредные производственные факторы подразделяются по своему действию на следующие группы: - физические; - химические; - биологические; - психофизиологические. Рассмотрим подробнее те из них, что непосредственно связаны с темой настоящего проекта, т.е. физические и психофизиологические. Физические опасные и вредные производственные факторы подразделяются, в свою очередь, на группы: - опасность поражения электрическим током [8,9]; - повышенный уровень электромагнитных излучений [11]; - наличие мощных ионизирующих излучений [7]; - повышенный уровень статического электричества [9]; - неудовлетворительные метеоусловия (микроклимат) в помещении [1]; - повышенный уровень шума, ультразвука на рабочем месте [5]; - проблемы с освещением [12,14]; - неправильная организация рабочего места [3,13]; - пожароопасность [2]. Психофизиологические опасные и вредные производственные факторы по характеру действия подразделяются на: - Физические перегрузки; - Нервно-психические перегрузки; Физические перегрузки делятся на статические и динамические, а нервно- психические - на умственное перенапряжение, перенапряжение анализаторов, монотонность труда и эмоциональные перегрузки. Перейдем к анализу опасных и вредных производственных факторов. 1 Электробезопасность. Проходя через тело человека, электрический ток оказывает на него сложное воздействие [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]: - пламя и искры; - повышенная температура окружающей среды; - токсичные продукты горения; - дым; - пониженная концентрация кислорода; - обрушение и повреждение зданий, сооружений; - ударная волна. В основе всех явлений происходящих при пожаре лежит горение. По способности поддерживать горение все вещества делятся на: - Негорючие; - Трудногорючие; - Горючие; Горючие в свою очередь делятся на легковоспламеняющиеся и трудновоспламеняющиеся. При пожаре человека подвергается многим опасным факторам: ожоги различной сложности; удушение от дыма вплоть до смертельного исхода; травмы и переломы при обрушении зданий. 2 Анализ помещения по электробезопасности [8]. По степени опасности поражения людей электрическим током помещение лаборатории – без повышенной опасности, так как отсутствуют условия, создающие повышенную опасность: сырость и токопроводящая пыль, токопроводящий пол, высокая температура [8]. Сеть питания – однофазная, 220 В, 50 Гц, с заземленным нулевым кабелем. В лаборатории поддерживаются следующие меры по техники безопасности: 1) Имеется автоматический выключатель; 2) Все электрооборудование имеет рабочую изоляцию; 3) К электрооборудованию допускаются лица не моложе 18 лет и прошедшие инструктаж по техники безопасности; 4) Регулярно проводится технический осмотр оборудования. Возможные пути получения тока (удар эл. током): . Попытка ремонта оборудования (ПЭВМ, ВДТ и т.д.) своими силами без его обесточивания. . Попытка ремонта розетки своими силами без отключения ее от сети. . Попытка вставить нестандартную вилку (европейский стандарт) в отечественную розетку. . Разболтанность розеток. . Неисправность удлинителя. . Неисправность рабочего инструмента (паяльника и т.д.) 3 Анализ помещения по взрывопожарной безопасности. Пожар - неконтролируемое горение во времени и пространстве, наносящее материальный ущерб и создающее угрозу жизни и здоровью людей. Опасные факторы пожаров и взрывов [44]. 1 Причины возникновения пожаров: [44] . Ошибки в технологических процессах и проектировании. . Конструктивные недостатки оборудования, неправильный выбор . исполнения электрооборудования для взрывоопасных зон. . Неправильное применение открытого огня. . Процессы самовозгорания . Нарушение требований СНиП. Опасные факторы пожара: Высокая температура окружающей среды; дым; сниженная концентрация кислорода (<12%); отравляющие вещества, токсичные продукты горения; вторичные проявления пожара: разрушающиеся здания и конструкции, выход горючих газов, жидкостей из трубопроводов и т.д., огнетушащие вещества (С02 (-60 С), фреон), взрыв. Категории производств по взрывопожарной опасности: . А - взрывопожароопасные производства; (АЭС, производство микросхем); . Б - взрывопожароопасные производства, легковоспламеняющиеся жидкости=<28 С, горючие газы, пыль; . В - твердые горючие материалы и вещества (помещения, где есть компьютеры); . Г - открытый огонь или технология с высокой температурой; . Д – не пожароопасные производства, твердые негорючие материалы в холодном состоянии; Источниками возникновения пожара в лаборатории могут оказаться ПЭВМ и другие электрические устройства, где в результате неисправностей образуются перегретые элементы, электрические дуги и искры, способные вызвать загорание горючих материалов, которыми в лаборатории являются: столы, стулья, двери и т.п. По взрывоопасности помещение можно отнести к категории В – пожароопасное, так как имеются твердые сгораемые вещества и материалы: стулья, столы, дверь, шкафы. На случай пожара в помещении имеется огнетушитель марки ОУ-2. В зависимости от пределов огнестойкости строительных конструкций в установлены восемь степеней огнестойкости зданий: I, II, III, IIIa, IIIб, IV, IVa, V. Учитывая высокую стоимость оборудования, а также категорию пожароопасности здание, в котором предусмотрено размещение ЭВМ, имеет II степень огнестойкости. 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 для тушения электрооборудования. 3 Паспорт рабочего места. Паспорт рабочего места программиста___ По теме дипломного проекта “Разработка контрольно-проверочной программы модуля ввода-вывода МФПУ-1” студента группы ЭВМДУ-53 Кулагина А.Г. |Наименование фактора, показателя |Фактическое|Нормативное|Нормативны| | |значение |значение |й документ| |1.Общая характеристика рабочего | | | | |места. | | | | |1.1.Предприятие |OАО “УКБП” | | | |Класс предприятия по санитарной |5 |5 |[16, 21] | |характеристике | | | | |Санитарно-защитная зона, м |50 |50 |То же | |1.2.Отдел |НИО-14 | | | |Габариты комнаты, м |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.Медицинские осмотры: | | | | |При приеме на работу |+ |+ |[20] | |Периодичность освидетельствования |1 раз в год|1 раз в год|правила | | | | |предприяти| | | | |я | |1.22.Характеристика произв. | | | | |Травматизма: | | | | |Коэффициент частоты |— |— |Документац| |Коэффициент тяжести |— |— |ия | | | | |предприяти| | | | |я | |2.Психо-физиологические и | | | | |гигиенические факторы. | | | | |2.1.Физическая нагрузка, | | | | |затрачиваемая на перемещение: | | | | |Разовая, кг |— |— |ТК | |За смену, кг |— |— |ТК | |2.2.Рабочая поза |Сидя |Сидя |ТК | |2.3.Действия рабочего по отношению |— |— |ТК | |к грузу | | | | |2.5.Монотонность: | | | | |Количество приемов в операции |— |— | | |Количество операций в час |— |— | | |Длительность операции |— |— | | |2.6.Коэф. активного времени в |— |— | | |операции | | | | |2.7.Коэф. загрузки рабочего | | | | |2.8.Величина нервно-псих. нагрузки:| | | | | | | | | |Длительность сосредоточенного |50 | |ТК | |наблюдения, % времени |1 | |ТК | |Число объектов набл. |1 | |ТК | |Число движений в час |решение |решение | | |Число сигналов в час |сложных |сложных |ТК | |Интеллектуальная нагрузка |задач |задач | | |Нервно-эмоциональное напряжение | | | | | |простые |простые | | | |действия по|действия по| | | |алгоритму |алгоритму | | |2.9.Характеристика зрительной |— |— |[14] | |работы | | | | |Освещенность, Лк: |400 |400 | | |Рабочее освещение |— |— | | |Аварийное |0,2 |0,2 | | |Эвакуационное | | | | |2.10.Типы источников света и | | | | |светильников: | | | | |Общее раб. освещение |ЛХБ80 |ЛБ, ЛП036 |[1 пр. 11]| |Местное освещение |— |ЛБ,ЛП036 | | |Аварийное освещение |— |— | | |Эвакуационное |+ |+ | | |2.11.Категория тяжести выполняемой |Легкая 1а |Легкая 1а |[22] | |работы в зависимости от | | | | |энергозатрат | | | | |2.12.Микроклимат в холодный период | | |[6] | |года (оптим./доп.): | |22-24 |[1 пр.4] | |Температура, °С |16 |/21-25 |[1 пр.4] | |Подвижность воздуха, м/с |0,1 |0,1 / 0,1 |[1 пр.4] | |Влажность, % |50 |40-60/75 | | |2.13.Микроклимат в теплый период | | |[6] | |года (оптим./доп.): | | |[1 пр.4] | |Температура, °С |24 |23-25/22-28|[1 пр.4] | |Подвижность воздуха, м/с |0,1 | |[1 пр.4] | |Влажность, % |50 |0,1/0,1-0,2| | | | | | | | | |40-60/55 | | |2.14.Интенсивность теплового |— |— |[6] | |облучения | | | | |2.15.Пути воздействия химических |— |— |ТК | |веществ на рабочего, их состав | | | | |2.16.Концентрация вредных веществ в|— |— | | |воздухе рабочей зоны | | | | |2.17.Запыленность воздуха |— |— |ТК | |2.18.Напряженность | | | | |электромагнитного, магнитного, | | | | |электростатического полей: |10 |10 |[1 пр. 3] | |Электрическая составляющая, В/м |0,3 |0,3 |[1 пр. 3] | |Магнитная составляющая, А/м | | | | |2.19.Доля ионизирующего излучения, |— |— | | |мкР/ч | | | | |2.20.Уровень шума, дБа: |60 |60 |[5, 1 | |Ультразвука |— |— |пр.19] | |Инфразвука |— |— | | |2.21.Уровень вибрации |— |— | | |2.22.Санитарная характеристика |4 |4 |[21, 12] | |производственного процесса | | | | |2.23.Санитарно-бытовые помещения | | |Требования| | | | |вед. | | | | |нормат. | | | | |документов| |2.24.Геометрические параметры | | |[21] | |рабочего места: |7 |6 | | |Площадь на 1-ого рабочего, м2 |20 | | | |Объем на 1-ого рабочего, м3 |3 | | | |Высота помещения, м | | | | |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.Причины ЧС |Пожар, |Пожар, | | | |ядерный |ядерный | | | |взрыв |взрыв | | Примечание: наличие фактора отмечается знаком “+”, отсутствие — знаком “—”. 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. |3.2. |3.3. |3.4. | | | | | |1 ст.|2 ст.|3 ст.|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 Принципы организации оплаты труда 1 Принципиальные положения оплаты труда Оплата труда работников - цена трудовых ресурсов, задействованных в трудовом процессе. В значительной степени она определяется количеством и качеством затраченного труда, однако на нее воздействуют и чисто рыночные факторы, такие, как спрос и предложение труда, сложившаяся конкретная конъюнктура, территориальные аспекты, законодательные нормы (например, в США почасовые ставки регулируются законодательством). Рыночная экономика предлагает наличие рынка рабочей силы с территориальным помещением трудовых ресурсов, сосредоточением труда там, где на него есть спрос, и оттоком с тех мест, где ощущается избыточное предложение. Комплекс всех этих факторов и формирует конкретную оплату труда. Следовательно, признание потребителем и состояние конъюнктуры - вот два фактора, которые определяют уровень доходов коллектива и отдельных работников. Такая ситуация повышает зависимость производителей от широких слоев населения, увеличивая экономическую ответственность за результаты созданного продукта, уровень его качества и цены. Меняется подход к распределению по труду. За основу равной оплаты за равную работу берутся не затраты - количество часов рабочего времени и уровень квалификации, а результаты труда - признание продукта труда в качестве товара рынка. Предприниматель в своей деятельности сталкивается с тем, что любой фактор, вовлекаемый в производство должен быть оплачен. Он покупает станки, машины, оборудование, сырье и, чтобы начать производство, нанимает рабочую силу, и платит за труд - это и есть оплата труда. С одной стороны оплата должна компенсировать расход физических и интеллектуальных сил работника, с другой стороны, работник не должен чувствовать себя ущербным, сравнивая оплату своего труда с оплатой аналогичного труда на родственном предприятии. Однако предпринимателя ограничивает ряд факторов внешнего характера: - установленный государством минимальный уровень заработной платы; - условия договора между предпринимателем и коллективом работающих; - требования профсоюзных комитетов; При организации оплаты труда предприниматель должен: - определить форму и систему оплаты труда работников своего предприятия; - разработать систему должностных окладов для служащих, специалистов, управленческого персонала. В распоряжении предпринимателя имеются широкие возможности в выборе тех или иных форм или систем заработной платы, они еще шире при определении премиальных доплат, поощрений. Но искусство руководителя заключается в том, чтобы из имеющегося арсенала средств выбрать те из них, которые в наибольшей мере соответствуют конкретному предприятию и именно тому персоналу, который набран на это предприятие. 2 Формы и системы оплаты труда Наибольшее распространение на предприятиях различных форм собственности получили две формы оплаты труда: 1. Сдельная - оплата за каждую единицу продукции или выполненный объем работ; 2. Повременная - оплата за отработанное время, но не календарное, а нормативное, которое предусматривается тарифной системой. Существует также целый ряд условий, при которых целесообразно применять ту или иную форму оплаты труда. Условия применения сдельной оплаты труда: - существуют количественные показатели работы, которые непосредственно зависят от конкретного работника; - имеется возможность точного учета объемов выполняемых работ; - существуют возможности у рабочих конкретного участка увеличить выработку или объем выполняемых работ; - существует необходимость на конкретном производственном участке стимулировать рабочих в дальнейшем увеличении выработки продукции или объемов выполняемых работ; - имеется возможность технического нормирования труда. Сдельную оплату труда не рекомендуется применять в том случае, если ее применение ведет к: - ухудшению продукции; - нарушению технологических режимов; - ухудшению обслуживания оборудования; - нарушению требованию техники безопасности; - перерасходу сырья и материалов. Условия применения повременной оплаты труда: - отсутствует возможность увеличения выпуска продукции; - производственный процесс строго регламентирован; - функции рабочего сводятся к наблюдению за ходом технологического процесса; - функционируют поточные и кон веерные типы производства со строго заданным ритмом; - увеличение выпуска продукции может привести к браку или ухудшению ее качества. В условиях рынка нет той строгой регламентации, которая была характерна для плановой экономики, поэтому предприниматель, руководство предприятия могут проверить любой из существующих вариантов оплаты труда и применять тот, который в наибольшей степени соответствует целям предприятия. При прямой сдельной системе заработной платы, или простой сдельной, труд оплачивается по расценкам за единицу произведенной продукции. Индивидуальная сдельная расценка за единицу продукции или работы определяется следующим образом: Зр = Зч / Вч или Зр = Зч * tн , где Зч - часовая тарифная ставка, установленная в соответствии с разрядом выполняемой работы, руб./ч; Вч - часовая норма выработки данной продукции; tн - норма времени на единицу продукции (работы),ч. Общий заработок рабочего определяется путем умножения сдельной расценки на количество произведенной продукции за расчетный период. При сдельно-премиальной системе оплаты труда рабочий получает оплату своего труда по прямым сдельным расценкам и дополнительно получает премию. Но для этого должны быть четко установлены показатели, за которые осуществляется премирование, они должны быть доведены до каждого исполнителя. При косвенно-сдельной системе размер заработка рабочего ставится в прямую зависимость от результатов труда обслуживаемых им рабочих- сдельщиков. Эта система используется для оплаты труда вспомогательных рабочих (наладчиков и др.). Косвенная сдельная расценка Зк рассчитывается с учетом норм выработки обслуживаемых рабочих и их численности по формуле: Зк = Зч / Вч * р (руб. на ед. прод. или раб.), где Зч - тарифная часовая ставка обслуживаемого рабочего, оплачиваемого по косвенной сдельной системе, руб.; Вч - часовая норма выработки (производительности) одного обслуживаемого рабочего (объекта, агрегата) в единицах продукции; р - количество обслуживаемых рабочих (объектов, агрегатов) - норма обслуживания. Общий заработок рассчитывается либо путем умножения ставки вспомогательного рабочего на средний процент выполнения норм обслуживаемых рабочих-сдельщиков, либо умножением косвенно-сдельной расценки на фактический выпуск продукции обслуживаемых рабочих: Зобщ = Зч * Фвсп * У / 100, где Зобщ - общий заработок рабочего, руб.; Зч - часовая тарифная ставка вспомогательного рабочего, переведенного на косвенную сдельную оплату труда, руб.; Фвсп - фактически отработанное данным вспомогательным рабочим количество часов, ч; У - средневзвешенный процент выполнения норм выработки всеми обслуживаемыми данным работником рабочими, объектами, агрегатами; Зобщ = Sum( Зкi * Вфi ), где Зкi - косвенная сдельная расценка за единицу продукции, производимой i-м обслуживаемым рабочим, руб.; Вфi - фактическое количество продукции, произведенной в данном периоде i-м обслуживаемым рабочим в соответствующих единицах измерения. При аккордно-сдельной оплате труда расценка устанавливается на весь объем работы (а не на отдельную операцию) на основе действующих норм времени или норм выработки и расценок. При данной системе оплаты труда рабочие премируются за сокращение сроков выполнения работ, что усиливает стимулирующую роль этой системы в росте производительности труда. При сдельно-прогрессивной системе труд рабочего оплачивается по прямым сдельным расценкам в пределах выполнения норм, а при выработке сверх норм - по повышенным расценкам. Заработок рабочего при сдельно- прогрессивной оплате труда Зс.п определяется в зависимости от принятой системы прогрессивной оплаты (за весь объем или за часть объема работ, выполненных сверх нормы) по одной из следующих формул: Зс.п = Зт.с + [Зт.с * (Jн - Jбаз) * qпр] / Jн; где Зт.с - сумма основного заработка рабочего, исчисленная по прямым сдельным расценкам, руб; Jн - выполнение норм выработки рабочим, %; Jбаз - базовый уровень норм выработки, сверх которого применяется оплата по повышенным расценкам, %; qпр - коэффициент в долях единицы, показывающий насколько увеличивается сдельная расценка за выработку продукции сверх установленной нормы; При использовании сдельно-прогрессивной оплаты труда особое внимание следует уделить определению нормативной исходной базы, разработке эффективных шкал повышения расценок, учету выработки продукции и фактически отработанного времени. Сдельная форма оплаты труда может применяться индивидуально - для каждого конкретного работника, а может иметь коллективные формы. Широкое распространение получила подрядная форма оплаты труда. Суть ее в том, что заключается договор, по которому одна сторона обязуется выполнить определенную работу, берет подряд, а другая сторона, т.е. заказчик, обязуется оплатить эту работу после ее окончания. Заработок бригады рабочих Збр определяется умножением бригадной сдельной расценки за единицу производимой продукции Збр[сд] на фактически выполненный бригадой объем работ Вбр: Збр = Збр[сд] * Вбр. Если бригада производит разнообразные работы и они оцениваются по различным расценкам, общий заработок бригады определяется как сумма расценок каждого вида работ. При повременной заработной плате работник получает денежное вознаграждение в зависимости от количества отработанного времени, однако в силу того, что труд может быть простым и сложным, низко- и высококвалифицированным, необходимо нормирование труда, которое осуществляется с помощью тарифных систем. Составными элементами тарифной системы являются: - тарифная ставка - абсолютный размер оплаты труда различных групп и категорий рабочих за единицу времени. Исходной является минимальная тарифная ставка или тарифная ставка первого разряда. Она определяет уровень оплаты наиболее простого труда. Тарифные ставки могут быть часовые, дневные; - тарифные сетки - служат для установления соотношения в оплате труда в зависимости от уровня квалификации. Это совокупность тарифных разрядов и соответствующих им тарифных коэффициентов. Тарифный коэффициент низшего разряда принимается равным единице. Тарифные коэффициенты последующих разрядов показывают во сколько раз соответствующие тарифные ставки больше тарифной ставки первого разряда. Повременная заработная плата имеет две системы: простую повременную и повременно-премиальную. Заработок рабочего по простой повременой системе Зп расчитывается как произведение часовой (дневной) тарифной ставки рабочего данного разряда Зч, руб на отработанное время в данном периоде tраб (соответственно в часах или рабочих днях), т.е Зп = Зч * tраб. Для руководителей, специалистов и служащих используется система должностных окладов. Должностной оклад - абсолютный размер заработной платы, устанавливаемый в соответствии с занимаемой должностью. Он может составлять определенный диапазон - от минимального до максимального значений. Необходимы аналитические расчеты, которые существенно могут повысить эффективность установления того или иного оклада. При бестарифной системе оплаты труда происходит следующее, т.к. в условиях оплаты труда по тарифам и окладам достаточно сложно избавиться от уравниловки, преодолеть противоречие между интересами отдельного работника и всего коллектива, в качестве возможного варианта совершенствования организации и стимулирования труда рассмотрим бестарифную систему оплаты труда, которая нашла применение на многих предприятиях в условиях перехода к рыночным условиям хозяйствования. По данной системе заработная плата всех работников предприятия от директора до рабочего представляет собой долю работника в фонде оплаты труда или всего предприятия или отдельного подразделения. В этих условиях фактическая величина заработной платы каждого работника зависит от ряда факторов: квалификационного уровня работника; коэффициента трудового участия; фактически отработанного времени. 2 Расчет стоимости разработки КПП МВВ для МФПУ-1. 1 Расчет затрат на разработку программы Определить точную стоимость разработки КПП не представляется возможным по следующим причинам: - быстрое изменение цен на рынке оплаты труда; - долгосрочная разработка полного программного обеспечения, в состав которой входит КПП (несколько лет); - постоянное изменение курса национальной валюты. Затраты на разработку программного продукта рассчитываются по формуле: Zрпп = Zзп + Zзпд + Остр + Оам + Zээ + Rкосв , (1) Где: Zзп - затраты на заработную плату программисту, руб.; Zзпд- затраты на дополнительную заработную плату, руб.; Остр - отчисление на социальное страхование, руб.; Оам - амортизационные отчисления, руб.; Zээ - затраты на электроэнергию во время разработки программы, руб.; Rкосв - косвенные расходы, руб. Разработка программы производилась инженером-программистом, с заработанной платой 1500 рублей в месяц. На разработку программы ушло 4 месяца, поэтому затраты на зарплату составляют: Zзп = 1500 * 4 = 6000 (руб.) Дополнительная заработная плата составляет 30% от основной заработной платы, тогда затраты на дополнительную заработную плату: Zзпд = Zзп * 0.3 = 6000 * 0.3 = 1800 (руб.) Отчисления на социальное страхование составляют 37% от общей заработной платы, то есть Остр = (Zзп + Zзпд)*0.37 = (6000 + 1800)*0.37 = 2886 (руб.) Стоимость ПЭВМ, используемой для разработки программы составляет 12000 руб. и 25000 руб. Срок службы персонального компьютера составляет 8 лет. Тогда на данный момент амортизационные отчисления за месяц составляют: Оам1 = (12000 + 25000) / ( 8 * 12 ) = 385 (руб.) За 4 месяца: Оам = 385 * 4 = 1540 (руб.) На отладку и тестирование программы с использованием ПЭВМ затрачено 55 рабочих дней, из них, в среднем каждый день по 3 часа. Стоимость электроэнергии 0.14 руб. за киловатт. Мощность, потребляемая ПЭВМ 300 Вт. Посчитаем затраты на электроэнергию во время разработки программы, руб.; Zээ = ( 55 * 3 ) * 0.14 * 0.300 = 7 (руб.) Косвенные расходы составляют 110% от основной заработанной платы программиста: Rкосв = 6000 * 1.1 = 6600 (руб.) Таким образом, подставляя вычисленные значения затрат в формулу (1), получим стоимость затрат на разработку программы: Zрпп = 6000 + 1800 + 2886 + 1540 + 7 + 6600 = 18833 (руб.) 2 Расчет экономической эффективности от внедрения программного продукта Рассчитаем экономическую эффективность от внедрения разработанного программного продукта на примере сравнения годовых затрат на содержание отдела рефератированния (5 человек) и содержание ПЭВМ, обслуживающего персонала (1 человек) и консультанта по работе с технической информацией, заменяющих вышеназванный отдел. Экономическую эффективность рассчитаем по формуле: Eэ = Zдв - Zпв, (2) где Zдв - затраты до внедрения; Zпв - затраты после внедрения. 3 Затраты до внедрения Затраты до внедрения программного продукта рассчитаем по формуле: Zдв = Zзп + Zзпд + Oстр, (3) где Zзп - затраты на заработную плату работнику, руб.; Zзпд - затраты на дополнительную заработную плату, руб.; Остр - отчисление на социальное страхование, руб.; Средняя заработанная плата работников отдела технической информации составляет 1400 руб., тогда: Zзп = 1400 * 5 * 12 = 84 000 (руб.) Дополнительная заработная плата составляет 30% от основной заработной платы, тогда затраты на дополнительную заработную плату: Zзпд = Zзп * 0.3 = 84 000 * 0.3 = 25 200 (руб.) Отчисления на социальное страхование составляют 37% от общей заработной платы, тогда: Oстр =(Zзп + Zзпд)* 0.37 , то есть Остр = (84 000 + 25 200) * 0.37 = 40 404 (руб.), Таким образом, подставляя вычисленные значения затрат в формулу (3), получим стоимость затрат до внедрения программы: Zдв = 84 000 + 25 200 + 40 404 = 149604 (руб.). 4 Затраты после внедрения Затраты после внедрения программного продукта рассчитаем по формуле: Zпв = Zзп + Zзпд + Oстр + Zээ + Oам + Sпо + Zвпп, (4) где Zзп - затраты на заработную плату программисту, руб.; Zзпд - затраты на дополнительную заработную плату, руб.; Остр - отчисление на социальное страхование, руб.; Zээ - затраты на электроэнергию для ПЭВМ, руб.; Оам - амортизационные отчисления, руб.; Zвпп - затраты на внедрение программного продукта, руб. Заработанная плата программисту равна 1500 руб., тогда: Zзп = 1500 * 12 + 1400 * 12 = 24 800 (руб.). Дополнительная заработная плата составляет 30% от основной заработной платы, тогда затраты на дополнительную заработную плату: Zзпд = Zзп * 0.3 = 24 800 * 0.3 = 7 440 (руб.). Отчисления на социальное страхование составляют 37% от общей заработной платы, тогда: Oстр = ( Zзп + Zзпд ) * 0.37 , то есть Oстр = (24 800 + 7 440) * 0.37 = 11 930 (руб.). ПЭВМ на рабочем месте работает 8 часов в день. Количество рабочих дней в году 264. Стоимость электроэнергии 0.14 руб. за киловатт. Мощность, потребляемая ПЭВМ 300 Вт. Посчитаем годовые затраты на электроэнергию, потребляемую ПЭВМ, руб.; Zээ = (8 * 264) * 0.14 * 0.300 = 88 (руб.). Стоимость ПЭВМ, используемых при эксплуатации разработанной программы составляет 12000 и 25000 руб. Срок службы персонального компьютера составляет 8 лет. Тогда амортизационные отчисления за год составляют: Oам = (12000 + 25000) / 8 = 4625 (руб.). Стоимость программного обеспечения равняется себестоимости программного продукта, посчитанной в предыдущем пункте данной главы. Следовательно: Sпо = 18 833 (руб.). В затраты на внедрение программного продукта входят затраты на изготовление сопроводительной документации, на заработную плату службы сопровождения программного продукта, затраты на обучение пользователя работе с программой, на установку программного продукта, на адаптацию программного продукта к условиям пользователя и т.д. Так как размер данных затрат зависит от конкретных условий, то стоимость затрат на этапе внедрения можно оценить только качественно, и можно сказать что она будет соизмерима со стоимостью затрат на этапе разработки. Затраты на внедрение программного продукта составляют 110% от затрат на этапе разработки программного обеспечения: Zвпп = 18 833 * 1.1 = 20 717 (руб.) Таким образом, подставляя вычисленные значения затрат в формулу (4), получим стоимость затрат после внедрения программы: Zпв = 24 800 + 7 440 + 11 930 + 88 + 4625 + 18 833 + 20 717 = 88 433 (руб.) Подставляя рассчитанные затраты до и после внедрения программы в формулу (2), получим значение экономической эффективности от внедрения разработанного программного продукта: Eэ = Zдв - Zпв = 149 604 - 88433 = 61 171 (руб.) Список используемых источников 1. КИВШ.00225-01 92, Многофункциональный пульт управления МФПУ, «Протокол взаимодействия центрального процессора и модуля ввода-вывода». 2. КИВШ.00223-01 91, Многофункциональный пульт управления МФПУ, «Контрольно- проверочная программа», техническое задание. 3. КИВШ.00225-01 91, Многофункциональный пульт управления МФПУ, «Специальное программное обеспечение модуля МВВ», техническое задание. 4. КИВШ.00225-01 31, Многофункциональный пульт управления МФПУ, «Специальное программное обеспечение модуля МВВ», пояснительная записка. 5. КИВШ.00225-01 92, Многофункциональный пульт управления МФПУ. «Описание модуля МВВ». 6. КИВШ.00225-01 92, Многофункциональный пульт управления МФПУ. «Программно- аппаратный интерфейс». 7. Гигиенические требования к видеодисплейным терминалам, ПЭВМ и организации работы: Санитарные правила и нормы. СанПиН 2.2.2.542-96.- М.: Информационно-издательский центр Госкомсанэпиднадзора России, 1996.-64с. 8. Гончар С.Т. Экологичность и безопасность объекта дипломного проектирования: Учебное пособие. –Ульяновск, 1993. –128 с. 9. СН 245-71. Санитарные нормы проектирования промышленных предприятий. –М.: Стройиздат, 1972. 10. СНиП 2.09.04.-87. Административные и бытовые здания. –М.: Стройиздат, 1988. 11. ОНТП 24-86. Общесоюзные нормы технол. проектирования. Определение категорий помещений и зданий по взрывопожарной и пожарной опасности.–М.:МВД СССР,1986. 12. Правила устройства электроустановок / Минэнерго СССР. –М.: Энергоатомиздат, 1987. 13. Список производств, профессий и должностей с вредными условиями труда, работа в которых дает право на дополнительный отпуск и сокращенный рабочий день /ВЦСПС. –М.: Экономика, 1977. 14. Сборник нормативных актов по пенсионному обеспечению. –М.: Экономика, 1992. 15. О проведении обязательных предварительных при поступлении на работу и периодических медицинских осмотров трудящихся, подвергающихся воздействию вредных и неблагоприятных условий труда. Приказ N 555 от 29.09.89 / Минздрав СССР. –М., 1989. 16. СНиП 11-4-79. (с изменениями). Естественное и искусственное освещение. Нормы проектирования // Светотехника, 1991. N6. 17. ГОСТ 12.1.005 - 88 “ССБТ. Общие санитарно - гигиенические требования к воздуху рабочей зоны”. - М.: Изд-во стандартов, 1988. 18. ГОСТ 12.0.004-79 “Организация обучения работающих безопасности труда. Общие положения”. -М.: Изд-во стандартов, 1979. 19. ГОСТ 12.1.006 -84 “ССБТ. Электромагнитные поля радиочастот”. - М.: Изд- во стандартов, 1984. 20. ГОСТ 12.1.003 - 83 “ССБТ. Шум. Общие требования безопасности”. - М.: Изд-во стандартов, 1983. 21. ГОСТ 12.1.019 - 79 “ССБТ. Электробезопасность. Общие требования”. - М.: Изд-во стандартов, 1979. 22. ГОСТ 12.1.018 - 86 “ССБТ. Статическое электричество. Искробезопасность. Общие требования.” - М.: Изд-во стандартов, 1986. 23. ГОСТ 12.1.004 - 89 “ССБТ. Пожаробезопасность. Общие требования”. - М.: Изд-во стандартов, 1989. Приложение 1: МВВ – «Контроль аппаратуры обмена» /*--------------------------------------------------- автор Кулагин А.Г. СПО МВВ-34 МФПУ КИВШ.00225-01 Программа контроля аппаратуры обмена с МПР файл KontObm.cpp разработка 2000 года --------------------------------------------------*/ #include "SpoMww.h" int sost_sl; //прототипы "Слова состояния", int upr_sl; // "Управляющего слова" int old_upr_sl=0; // "старого" "Управляющего слова" int old_sost_sl; // "старого" "Слова состояния" void (*Ptr)(); uint volatile OK_ERROR=0; uint number_sf; //Номер семафора uint mem; //Адрес памяти int tst1; //Эталон 1 для проверки передачи информации int tst2; //Эталон 2 для проверки передачи информации //--------------------------------------------------- //Устанавливает 1 в 0-ом разряде слова состояния - OK void SetOK (void) { CtenMpr(SL_SOST,&sost_sl); //sost_sl &= 0xFFFC;//очищаем 2 мл.бита sost_sl |= 1; ZapisMpr(SL_SOST,sost_sl); } //Устанавливает 1 в 1-ом разряде слова состояния - ERROR void SetError (void) { CtenMpr(SL_SOST,&sost_sl); //sost_sl &= 0xFFFC;//очищаем 2 мл.бита sost_sl |= 2; ZapisMpr(SL_SOST,sost_sl); } //--------------------------------------------------- //Обработчик контроля прерываний от МПР (должен располагаться по адр. 38000h) void KONT_INTERRUPT () { ZapisMpr(10,0XFFFF); CtenMpr (SL_UPR,&upr_sl); switch (upr_sl){ case 0x0000:sost_sl=0x0001;break; case 0x0001:sost_sl=0x0002;break; case 0x0002:sost_sl=0x0004;break; case 0x0004:sost_sl=0x0008;break; case 0x0008:sost_sl=0x0010;break; case 0x0010:sost_sl=0x0020;break; case 0x0020:sost_sl=0x0040;break; case 0x0040:sost_sl=0x0080;break; case 0x0080:sost_sl=0x0100;break; case 0x0100:sost_sl=0x0200;break; case 0x0200:sost_sl=0x0400;break; case 0x0400:sost_sl=0x0800;break; case 0x0800:sost_sl=0x1000;break; case 0x1000:sost_sl=0x2000;break; case 0x2000:sost_sl=0x4000;break; case 0x4000:sost_sl=0x8000;break; default:sost_sl=0xFFFF; //Признак окончания теста } ZapisMpr(SL_SOST,sost_sl); asm DW 0FAAh //Выход из прерывания } //------------------------------------------------------- void KontObm () { //Проверяем что будем тестировать ? switch (upr_sl & 3) { ///////////////////////////////////////////////////// //семафор case 1://получаем номер семафора (4-6 разряды) number_sf = (upr_sl & 0x0070) >> 4; //ветвимся по коду теста switch ((upr_sl & 0x000C) >> 2){ //чтение МВВ занятого семафора case0:if (OpenSf(number_sf)!=0) SetOK(); else SetError(); CloseSf (number_sf); break; //чтение МВВ свободного семафора case 1:if (OpenSf(number_sf)==0) SetOK(); else SetError(); CloseSf(number_sf); break; //чтение МПР занятого семафора case 2: if (OpenSf(number_sf)==0) { SetOK(); while ((sost_sl & 0x0003) != 0) CtenMpr (SL_SOST,&sost_sl); } else SetError(); CloseSf(number_sf); break; //чтение МПР свободного семафора case 3: if (CloseSf(number_sf)==0) SetOK(); else SetError(); break; } break; //////////////////////////////////////////////////////// //рабочая область case 2:OK_ERROR=0; // Направление 0: МПР->МВВ if (((upr_sl & 0x0010) >> 4)==0) //ветвимся по коду теста switch ((upr_sl & 0x000C) >> 2){ // передача нулевой информации case 0:for (mem=0;mem<0x7F00;mem+=2){ CtenMpr (mem,&tst1); if (tst1!=0)OK_ERROR++; } if (OK_ERROR==0)SetOK(); else SetError(); break; // передача единичной информации case 1:for (mem=0;mem<0x7F00;mem+=2){ CtenMpr (mem,&tst1); if (tst1!=(int)0xFFFF)OK_ERROR++; } if (OK_ERROR==0)SetOK(); else SetError(); break; // передача шахматной информации case 2:for (mem=0;mem<0x7F00;mem+=4){ CtenMpr (mem+0,&tst1);CtenMpr (mem+2,&tst2); if ((tst1!=0x5555) || (tst2!=(int)0xAAAA))OK_ERROR++; } if (OK_ERROR==0)SetOK(); else SetError(); break; // передача обратной шахматной информации case 3:for (mem=0;mem<0x7F00;mem+=4){ CtenMpr (mem+0,&tst1);CtenMpr (mem+2,&tst2); if ((tst1!=(int)0xAAAA) || (tst2!=0x5555))OK_ERROR++; } if (OK_ERROR==0)SetOK(); else SetError(); break; } // Направление 1: МВВ->МПР else //ветвимся по коду теста switch ((upr_sl & 0x000C) >> 2){ // передача нулевой информации case 0:if (OpenSf (0)==1) { SetError();break; } for (mem=0;mem<0x7F00;mem+=2){ ZapisMpr (mem,0); CtenMpr (mem,&tst1); if (tst1!=0)OK_ERROR++; } if (OK_ERROR==0)SetOK(); else SetError(); CloseSf(0); break; // передача единичной информации case 1:if (OpenSf (0)==1) { SetError();break; } for (mem=0;mem<0x7F00;mem+=2){ ZapisMpr (mem,0xFFFF); CtenMpr (mem,&tst1); if (tst1!=-1)OK_ERROR++; } if (OK_ERROR==0)SetOK(); else SetError(); CloseSf(0); break; // передача шахматной информации case 2:if (OpenSf (0)==1) { SetError();break; } for (mem=0;mem<0x7F00;mem+=4){ ZapisMpr (mem+0,0x5555);ZapisMpr (mem+2,0xAAAA); CtenMpr (mem+0,&tst1);CtenMpr (mem+2,&tst2); if ((tst1!=0x5555) || (tst2!=(int)0xAAAA))OK_ERROR++; } if (OK_ERROR==0)SetOK(); else SetError(); CloseSf(0); break; // передача обратной шахматной информации case 3:if (OpenSf (0)==1) { SetError();break; } for (mem=0;mem<0x7F00;mem+=4){ ZapisMpr (mem+0,0xAAAA);ZapisMpr (mem+2,0x5555); CtenMpr (mem+0,&tst1);CtenMpr (mem+2,&tst2); if ((tst1!=(int)0xAAAA) || (tst2!=0x5555))OK_ERROR++; } if (OK_ERROR==0)SetOK(); else SetError(); CloseSf(0); break; } break; ////////////////////////////////////////////////////// //прерывания case 3:OK_ERROR=0; //Пока ошибок нет !!! Ptr = &KONT_INTERRUPT; _EBX = (ulong) Ptr; asm { PUSH ES MOV AX,3800H //утанавливаем сегмент MOV ES,AX MOV SI,0 //адрес 0 MOV AL,0B8H //код MOV AX,xxxxh MOV BYTE PTR ES:SI,AL //заносим PUSH EBX //получаем сегмент SHR EBX,16 //нашего обработчика MOV AX,BX POP EBX MOV WORD PTR ES:SI+1,AX //заносим MOV EAX,8EC0FF26H//код MOV ES,AX и JMP ES:xxxx MOV DWORD PTR ES:SI+3,EAX//заносим MOV AX,26H MOV BYTE PTR ES:SI+7,AX //заносим MOV WORD PTR ES:SI+8,BX //заносим POP ES } //Запоминаем слово состояния CtenMpr (SL_SOST,&sost_sl); old_sost_sl=sost_sl; //Обнуляем слово состояния sost_sl=0; ZapisMpr(SL_SOST,sost_sl); //Ждать окончания теста while (sost_sl!=0xFF00) CtenMpr (SL_SOST,&sost_sl); sost_sl=old_sost_sl; ZapisMpr(SL_SOST,sost_sl); SetOK(); break; ///////////////////////////////////////////////////////// default:SetError(); } } //------------------------------------------------------- uint RezimKontObm () { //Делать пока режим не смениться do { CtenMpr (SL_UPR,&upr_sl); if (upr_sl!=old_upr_sl) { old_upr_sl=upr_sl; //Вызываем контроль обмена KontObm (); } } while ((upr_sl & SS_REZIM) == SS_KONTOBM ); return 0; } Приложение 2: МПР – «Контроль аппаратуры обмена» /*------------------------------------------------------- автор Кулагин А.Г. КПП МФПУ КИВШ.00223-01 Программа контроля аппаратуры обмена файл kontmww.cpp разработка 2000 года ------------------------------------------------------*/ #include "demo.h" #include "mww.h" #include#include #define INT_MWW 0x72 //Номер прерываний от МВВ uint upr_sl; uint sost_sl; //Подпрограмма формирования управляющего слова void Set_UPR_SL (int DOP, int CODE_TEST, int CODE_USTR) { CtenExt(BASADR+SL_SOST,&sost_sl); //взяли слово состояния sost_sl &= 0xFFFC; //обнуляем флаги результата ZapisExt (BASADR+SL_SOST,sost_sl); CtenExt (BASADR+SL_UPR,&upr_sl);//взяли управляющее слово upr_sl &= 0xFF00; upr_sl |= CODE_USTR | (CODE_TEST << 2) | (DOP << 4); ZapisExt (BASADR+SL_UPR,upr_sl); } //Подпрограмма получения кода выхода из тестов МВВ uint ExitCod (void) { uint ExitCodeMvv; CtenExt (BASADR+SL_SOST,&ExitCodeMvv); ExitCodeMvv &= 0x0003; return ExitCodeMvv; } //Подпрограмма ожидания ответа от МВВ uint WaitOtvetMww () { uint OK_ERROR_MWW; uint cnt=0; while((OK_ERROR_MWW=ExitCod())==0&&cnt++<0x100)delay (5); if (OK_ERROR_MWW == 0) return 4; return OK_ERROR_MWW; } void interrupt (*OLD_INT_MWW)(...);//Старый обработчик прерывания от МВВ //Обработчик прерываний от МВВ (тест контроля прерываний) void interrupt KONT_INTERRUPT (...) { CtenMwwInt (7,SL_SOST,&sost_sl); ZapisMwwInt (7,SL_UPR,sost_sl); //Сбрасываем ведущий и ведомый каскад asm mov al,20h asm out 20h,al asm out 0A0h,al } //****************************************************// uint KontMww (void) { uint OK_ERROR_MWW; uint OK_ERROR_MPR; uint i,j; uint tst1; uint tst2; uint mem; ///////////////// семафоры /////////////// printf ("\nКонтроль семафоров.\n"); for (i=0;i<8;i++){ //номера семафоров for (j=0;j<4;j++){ //код теста //CloseSf(i); switch (j){ //Чтение МВВ занятого семафора case 0:if (OpenSf(i)==0) { OK_ERROR_MPR=1; Set_UPR_SL (i,j,1); //формируем слово управления OK_ERROR_MWW = WaitOtvetMww (); } else OK_ERROR_MPR=2; CloseSf(i); break; //Чтение МВВ свободного семафора case 1:if (CloseSf(i)==0) OK_ERROR_MPR=1; else OK_ERROR_MPR=2; Set_UPR_SL (i,j,1); //формируем слово управления OK_ERROR_MWW = WaitOtvetMww (); break; //Чтение МПР занятого семафора case 2:Set_UPR_SL (i,j,1); //формируем слово управления OK_ERROR_MWW = WaitOtvetMww (); if (OpenSf(i)!=0) OK_ERROR_MPR=1; else OK_ERROR_MPR=2; if (OK_ERROR_MWW==1){ CtenMwwInt (7,SL_SOST,&mem); mem &= 0xFFFC; ZapisMwwInt (7,SL_SOST,mem); } CloseSf(i); break; //Чтение МПР свободного семафора case 3:Set_UPR_SL (i,j,1); //формируем слово управления OK_ERROR_MWW = WaitOtvetMww (); if (OpenSf(i)==0) OK_ERROR_MPR=1; else OK_ERROR_MPR=2; CloseSf(i); break; } if (OK_ERROR_MPR==1 && OK_ERROR_MWW==1)printf ("Семафор %u - OK. ¦ ",i); else { switch (OK_ERROR_MPR){ case 1:printf ("МПР - OK.(%u) ",OK_ERROR_MPR);break; case 2:printf ("МПР - ERROR.(%u) ",OK_ERROR_MPR);break; } switch (OK_ERROR_MWW){ case 1: printf ("МВВ - OK.(%u)\n",OK_ERROR_MWW);break; case 2:printf("МВВ - ERROR(%u)\n",OK_ERROR_MWW);return 0; case 4: printf ("МВВ - Нет ответа\n");return 0; default:printf ("МВВ - Не правильный ответ\n");return 0; } } } printf ("\n"); } //////////// рабочая область ////////////// printf ("\nКонтроль рабочей области.\n"); for (j=0;j<4;j++){ //код теста //Направление 0, МПР->МВВ switch (j){ //код теста //Передача нулевой информации case 0:for (mem=0;mem<0x7F00;mem+=2) ZapisMwwInt (7,mem,0x0000);break; //Передача единичной информации case 1:for (mem=0;mem<0x7F00;mem+=2) ZapisMwwInt (7,mem,0xFFFF);break; //Передача шахматной информации case 2:for (mem=0;mem<0x7F00;mem+=4){ ZapisMwwInt (7,mem+0,0x5555); ZapisMwwInt (7,mem+2,0xAAAA); } break; //Передача обратной шахматной информации case 3:for (uint mem=0;mem<0x7F00;mem+=4){ ZapisMwwInt (7,mem+0,0xAAAA); ZapisMwwInt (7,mem+2,0x5555); } break; } Set_UPR_SL (0,j,2); //формируем слово управления OK_ERROR_MWW = WaitOtvetMww (); switch (OK_ERROR_MWW){ case 1: printf ("Тест %u, напр.0 - OK.\n",j);break; case 2: printf ("Тест %u, напр.0 - ERROR.)\n",j);break; case 4: printf ("МВВ - Нет ответа\n");break; default:printf ("МВВ - Не правильный ответ\n");break; } //Направление 1, МВВ->МПР Set_UPR_SL (1,j,2); //формируем слово управления OK_ERROR_MWW = WaitOtvetMww (); switch (OK_ERROR_MWW){ case 1: switch (j){ //код теста case 0:for (uint mem=0;mem<0x7F00;mem+=2){ CtenMwwInt (7,mem,&tst1); if(tst1!=0)printf ("Тест %u-ERROR, Адрес - %XH\n",j,mem); } printf ("Тест %u, напр.1 - OK.\n",j); break; case 1:for (mem=0;mem<0x7F00;mem+=2){ CtenMwwInt (7,mem,&tst1); if(tst1!=0xFFFF)printf("Тест%u-ERROR,Адрес-%XH\n",j,mem); } printf ("Тест %u, напр.1 - OK.\n",j); break; case 2:for (mem=0;mem<0x7F00;mem+=4){ CtenMwwInt (7,mem+0,&tst1); CtenMwwInt (7,mem+2,&tst2); if ((tst1!=0x5555) || (tst2!=0xAAAA)) printf("Тест%u-ERROR,Адреса - %XH, %XH\n",j,mem+0,mem+2); } printf ("Тест %u, напр.1 - OK.\n",j); break; case 3:for (mem=0;mem<0x7F00;mem+=4){ CtenMwwInt (7,mem+0,&tst1); CtenMwwInt (7,mem+2,&tst2); if ((tst1!=0xAAAA) || (tst2!=0x5555)) printf("Тест%u-ERROR,Адреса - %XH, %XH\n",j,mem+0,mem+2); } printf ("Тест %u, напр.1 - OK.\n",j); break; }//switch (j) break; case 2:printf("Тест %u, напр.1 МВВ - ERROR.)\n",j); return 0; case 4: printf ("МВВ - Нет ответа\n");return 0; default:printf ("МВВ - Не правильный ответ\n");return 0; }//switch (OK_ERROR_MWW) }//for*/ ///////////////// прерывания //////////////// // !! инициализация прерываний на КОНТРОЛЬ !!!! asm CLI OLD_INT_MWW=getvect(INT_MWW);/сохраняем старый обработчик setvect (INT_MWW,KONT_INTERRUPT);//устанавливаем новый //накладываем маску на ведущий каскад asm IN AL,21H asm AND AL,0FBH asm OUT 021H,AL // разрешение прерываний МПР //накладываем маску на ведомый каскад asm IN AL,0A1H asm AND AL,0FBH // 2-бит, IRQ-10, 0x72-вектор asm OUT 0A1h,AL // разрешение прерываний МПР asm STI //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Set_UPR_SL (0,0,3); //формируем слово управления ZapisExt ( 7, 0xa14000, 0 ); //разрешение прерываний МВВ //!!!!!! Забиваем время пока работают прерывания !!!!! uint cnt=0; //Ждать пока тест прерываний не закончится while (sost_sl!=0xFFFF && cnt++<10){ CtenMwwInt (7,SL_SOST,&sost_sl); printf ("Сл.сост - %X\n",sost_sl); delay (100); uint lll; CtenMwwInt (7,10,&lll); printf ("10 - %X\n",lll); } //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! asm CLI setvect (INT_MWW,OLD_INT_MWW); //восстанавливаем старый обработчик //Посылаем МВВ признак отработки sost_sl=0xFF00;//младшие 2 бита обязательно сброшены !!! ZapisMwwInt(7,SL_SOST,sost_sl);//в них передается результат из МВВ //Ждать приход результата теста while ((OK_ERROR_MWW=ExitCod())==0); switch (OK_ERROR_MWW){ case 1: printf ("Прерывания - OK.\n");break; case 2: printf ("Прерывания - ERROR.)\n");break; default:printf ("МВВ - Не правильный ответ\n");break; } return 0; } Приложение 3: МВВ – «Расширенный контроль» /*------------------------------------------------- автор Кулагин А.Г. СПО МВВ-34 МФПУ КИВШ.00225-01 Программа расширенного контроля МВВ файл RasKont.cpp разработка 2000 года -------------------------------------------------*/ #include "SpoMww.h" #include uint seg,addr; uint error; uint ret; uint kon_summa; //Контрольная сумма (должна быть 0) uint reg_smkont;//Для хранения инф. регистра самоконтроля #define REG_KONTR 0xFF00 //адрес регистра контроля в 2-х портовом ОЗУ #define REG_SAM_KONTR 0x0C86 //адрес регистра самоконтроля в ОЗУ контр. КЛС #define ALL_SEG 0xFFFF //Адрес последнего байта в сегменте #define NO_ERR 0 #define CHIP 1 #define FLASH 20 #define STAT_RAM 30 #define OTK_MVV 40 #define KON_KLS 50 #define ALL_SBOI 90 //------------------------------------------------------ //Чтение ОЗУ int ReadRam ( uint seg, uint addr ) { _ES = seg; _SI = addr; asm MOV AX, word ptr ES:SI return _AX; } //Запись в ОЗУ void WriteRam ( uint seg, uint addr, int znc ) { _ES = seg; _SI = addr; _AX = znc; asm MOV word ptr ES:SI, AX } //------------------------------------------------------ //Тест ППЗУ uint Flash_Test () { //Сумма всех 32-раз. слов должна быть равна 0 error=0; kon_summa=0; for (addr=0;addr #define NO_ERR 0 #define CHIP 1 #define FLASH 20 #define STAT_RAM 30 #define OTK_MVV 40 #define KON_KLS 50 #define ALL_SBOI 90 char* AnalysError ( uint error ) { switch ( error ) { case NO_ERR : return "OK"; case CHIP : return "микропроцессор - ERROR"; case FLASH : return "контрольная сумма ППЗУ - ERROR"; case STAT_RAM : return "статическое ОЗУ - ERROR"; case OTK_MVV : return "сигнал 'Отказ МВВ' - ERROR"; case KON_KLS : return "контроллер КЛС - ERROR"; case ALL_SBOI : return "общий сбой"; } return "неизвестная ошибка !!!"; } //****************************************************** uint RasKont () { uint sost_sl=0, slIspMww; printf ("Расширенный контроль - "); //Записываем ошибку, если тест пройдет нормально - то ошибки не будет ZapisMwwInt (7,SL_ISPR_TIP,ALL_SBOI); //Ожидаем прихода результата uint cnt=0; do { CtenMwwInt (7,SL_SOST, &sost_sl); printf ("Слово состояния - %Xh\n",sost_sl); } while ( (sost_sl == SS_RASKON) && (cnt++<0x100) ); // while (sost_sl & SS_REZIM == SS_RASKON); //Считываем результат CtenMwwInt (7,SL_ISPR_TIP,&slIspMww); //Выводим его на экран ТК printf ("%s\n",AnalysError (slIspMww)); //return slIspMww; return 0; } ----------------------- Дата Подпись № документа Лист Изм 3 Лист
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28