Материалы сайта
Это интересно
Разработка контрольно-проверочной программы модуля ввода-вывода МФПУ-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. Контроллер КЛС 16 1.2.5. Конфигурация микропроцессора 19 1.2.6. Взаимодействие МВВ с центральным процессором 21 1.2.7. Встроенный контроль 22 2. Анализ инструментальных средств 25 2.1. Выбор языка программирования 25 2.2. Загрузка и функционирование программ в МВВ 26 2.3. Загрузка и функционирование программ в МПР 28 3. Состав и назначение тестов 29 3.1. Ориентировочный состав тестов. 29 3.2. Контроля аппаратуры обмена 29 3.2.1. Непрерывный контроль 29 3.2.2. Расширенный контроль 30 3.2.3. Контроль семафоров 30 3.2.4. Контроль рабочей области 31 3.2.5. Контроль прерываний 32 4. Требования к функциональным характеристикам тестов 34 4.1. Требования к программе 34 4.2. Требования к ВСК 34 4.2.1. Программные средства текущего контроля 35 4.2.2. Программные средства расширенного контроля. 36 4.3. Требования к КПП 36 4.4. Требования к отдельным тестам 37 4.4.1. Тест JTAG 37 4.4.2. Тест интерфейса ISA 37 4.4.3. Тест микропроцессора 38 4.4.4. Тест канала RS-232C 38 4.4.5. Тест ППЗУ 38 4.4.6. Тест чтения перемычек выбора режима 38 4.4.7. «Быстрый» тест ОЗУ и «расширенный» тест ОЗУ 39 4.4.8. Тест двух портового ОЗУ 39 4.4.9. Тест сигнала «Отказ МВВ» 39 4.4.10. Тест контроллера КЛС 39 4.4.11. Тест обмена по КЛС 40 4.4.12. Тест программирования ЭСППЗУ 40 4.4.13. Тест программирования Flash-ЗУ 40 4.5. Требования к надежности 40 4.6. Требования к информационной и программной совместимости 41 5. Описание функционирования КПП и ВСК 42 5.1. Модуль центрального процессора 42 5.1.1. «Контроль аппаратуры обмена» 42 5.1.2. «Расширенный контроль» 45 5.2. Модуль ввода-вывода 47 5.2.1. «Контроль аппаратуры обмена» 47 5.2.2. «Расширенный контроль» 51 5.3. Вспомогательные функции 52 5.3.1. Процедура открытия семафоров (МВВ) 52 5.3.2. Процедура закрытия семафоров (МВВ) 53 5.3.3. Чтение из двух портового ОЗУ (МВВ) 53 5.3.4. Запись в двух портовое ОЗУ (МВВ) 54 5.3.5. Процедура открытия семафоров (МПР) 54 5.3.6. Процедура закрытия семафоров (МПР) 55 5.3.7. Чтение из двух портового ОЗУ (МПР) 56 5.3.8. Запись в двух портовое ОЗУ (МПР) 56 5.4. Инициализация обмена с МВВ 56 5.5. Режим «контроль аппаратуры обмена» 57 5.5.1. Контроль семафоров 57 5.5.2. Контроль рабочей области 58 5.5.3. Контроль прерываний 59 5.6. Режим «расширенный контроль» 60 5.6.1. Тест микропроцессора 61 5.6.2. Тест ППЗУ 61 5.6.3. Быстрый тест статического ОЗУ 61 5.6.4. Расширенный тест статического ОЗУ 61 5.6.5. Тест сигнала «отказ МВВ» 62 5.6.6. Тест контроллера КЛС 62 6. Безопасность жизнедеятельности 63 6.1. Введение 63 6.2. Требования к видео дисплейным терминалам и персональным электронно- вычислительным машинам. 64 6.3. Требования к помещениям для эксплуатации ВДТ и ПЭВМ 67 6.4. Требования к микроклимату, содержанию аэроинов и вредных химических веществ в воздухе помещений эксплуатации ВДТ И ПЭВМ. 68 6.5. Требования к шуму и вибрации 70 6.6. Требования к освещению помещений и рабочих мест с ВДТ и ПЭВМ 71 6.7. Требования к пожароопасности 73 6.8. Требования к организации и оборудованию рабочих мест с ВДТ И ПЭВМ 75 6.9. Мероприятия по уменьшению воздействия опасных и вредных производственных факторов 76 6.9.1. Мероприятия по борьбе с шумами. [20] 77 6.9.2. Мероприятия по предупреждению поражения электрическим током. [21] 77 6.9.3. Мероприятия по борьбе со статическим электричеством. [22] 78 6.9.4. Мероприятия по борьбе с пожароопасностью. [23] 78 6.9.5. Защита от воздействия ЭМП. [19] 79 6.9.6. Мероприятия по поддержанию заданных параметров микроклимата. [17] 79 6.9.7. Организация рабочего места. 80 6.10. Экологические аспекты. 80 6.11. Чрезвычайные ситуации. 82 6.12. Расчет количества воздуха, подаваемого в помещения системами вентиляции. 84 7. Организационно-экономическая часть 87 7.1. Принципы организации оплаты труда 87 7.1.1. Принципиальные положения оплаты труда 87 7.1.2. Формы и системы оплаты труда 88 7.2. Расчет стоимости разработки КПП МВВ для МФПУ-1. 94 7.2.1. Расчет затрат на разработку программы 94 7.2.2. Расчет экономической эффективности от внедрения программного продукта 96 7.2.3. Затраты до внедрения 97 7.2.4. Затраты после внедрения 97 Список используемых источников 100 Приложение 1: МВВ – «Контроль аппаратуры обмена» 103 Приложение 2: МПР – «Контроль аппаратуры обмена» 110 Приложение 3: МВВ – «Расширенный контроль» 117 Приложение 4: МПР – «Расширенный контроль» 121 Список принятых сокращений ВСК - встроенный контроль ДПОЗУ - двух портовое ОЗУ ЖКИ - жидкокристаллический индикатор КЛС - кодовая линия связи КПП - контрольно-проверочная программа МБД - модуль базы данных МВВ - модуль ввода-вывода МДК - модуль дисплейного контроллера МДС - модуль дискретных сигналов МИП - модуль источника питания МКК - модуль контроллера клавиатуры МПР - модуль процессора МФПУ - многофункциональный пульт управления ОЗУ - оперативное запоминающее устройство ПДС - преобразователь дискретных сигналов ПЗУ - постоянное запоминающее устройство ПО - программное обеспечение ППЗУ - перепрограммируемое ПЗУ РК - разовая команда РМП - рабочее место программиста СПО - специальное программное обеспечение ТК - технологический компьютер ТПО - тестовое программное обеспечение Аннотация Данный дипломный проект посвящен разработке алгоритмов и написанию подпрограмм взаимодействия модуля ввода-вывода (далее МВВ-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 Введение Безопасность жизнедеятельности - наука о сохранении здоровья и безопасности человека в среде обитания, призванная выявить и идентифицировать опасные и вредные факторы, разрабатывать методы и средства защиты человека снижением опасных и вредных факторов до приемлемых значений, вырабатывать меры по ликвидации последствий чрезвычайных ситуаций мирного и военного времени. Вопросы обеспечения безопасности труда являются неразрывной частью любого технологического процесса. Осуществление всего комплекса мероприятий по безопасности жизнедеятельности (БЖД) позволяет решить одну из главных ее задач - свести к минимуму вероятность поражения или заболевания работающего с одновременным обеспечением комфорта на рабочем месте. Улучшение условий труда приводит к социальным результатам: к улучшению здоровья трудящихся к укреплению трудовой дисциплины, росту производительности труда и общественной активности. Значение БЖД в условиях производства состоит в знании и строгом контроле за соблюдением организационных, технических, санитарно- гигиенических норм, внедрение и совершенствование безопасных и безвредных методов и приемов выполнения работ. С вопросами охраны труда непосредственно связано и решение вопросов охраны природы. Прежде всего, предусматривается совершенствовать технологические процессы и транспортные средства с целью сокращения выбросов вредных веществ в окружающую среду, увеличить выпуск высокоэффективных газо- пылеулавливающих аппаратов водоочистного оборудования, а также приборов и автоматических станций контроля за состоянием окружающей среды. Научно-технический прогресс внес коренные изменения не только в технологию производства, но и в содержание труда работающих. Современные формы труда характеризуются рядом особенностей. Одной из отличительных особенностей научно технического прогресса в современных условиях является тенденция широкого использования персональных электронно- вычислительных машин (ПЭВМ) в самых различных сферах человеческой деятельности. Основным направлением деятельности в области охраны труда должно явиться создание принципиально новой безопасной и безвредной для человека техники и технологии, современных коллективных и индивидуальных средств защиты от опасных и вредных производственных факторов. Для чего необходимо научное обоснование их предельно допустимых значений, которые не вредны и не опасны для организма человека, и создания современных приборов для измерения параметров указанных факторов. На основе научных исследований должна получить дальнейшее развитие система управления работой по охране труда, обучения работающих безопасным приемам труда. 2 Требования к видео дисплейным терминалам и персональным электронно- вычислительным машинам. Визуальные эргономические параметры ВДТ являются параметрами безопасности и их неправильный выбор приводит к ухудшению здоровья пользователей. Все ВДТ должны иметь гигиенический сертификат, включающий в том числе оценку визуальных параметров. Конструкция ВДТ, его дизайн и совокупность эргономических параметров должны обеспечивать надежное и комфортное считывание отображаемой информации в условиях эксплуатации. Конструкция ВДТ должна обеспечивать возможность фронтального наблюдения экрана путем поворота корпуса в горизонтальной плоскости вокруг вертикальной оси в пределах 30 градусов и в вертикальной плоскости вокруг горизонтальной оси в пределах 30 градусов с фиксацией в заданном положении. Дизайн ВДТ должен предусматривать окраску корпуса в спокойные мягкие тона с диффузным рассеиванием света. Корпус ВДТ и ПЭВМ, клавиатура и другие блоки и устройства ПЭВМ должны иметь матовую поверхность одного цвета с коэффициентом отражения 0,4-0,6 и не иметь блестящих деталей, способных создавать блики. На лицевой стороне корпуса ВДТ не рекомендуется располагать органы управления, маркировку, какие-либо вспомогательные надписи и обозначения. При необходимости расположения органов управления на лицевой панели они должны закрываться крышкой или быть утоплены в корпусе. Для обеспечения надежного считывания информации при соответствующей степени комфортности ее восприятия должны быть определены оптимальные и допустимые диапазоны визуальных эргономических параметров. Визуальные эргономические параметры ВДТ и пределы их изменений, в которых должны быть установлены оптимальные и допустимые диапазоны значений, приведены в Приложении 1. Приложение 1. Визуальные эргономические параметры ВДТ и пределы их измерений. |Наименование |Пределы значений параметров | |параметров | | | |Мин. (не менее) |Макс. (не более) | |Яркость знака |35 |120 | |(яркость фона), | | | |кд/кв.м. (измеренная| | | |в темноте) | | | |Внешняя освещенность|100 |250 | |экрана, кл. | | | |Угловой размер |16 |60 | |знака, угл.мин. | | | Примечания: 1. Оптимальным диапазоном значений визуального эргономического параметра называется диапазон, в пределах которого обеспечивается безошибочное считывание информации при времени реакции человека-оператора, превышающем минимальное, установленное экспериментальное для данного типа ВДТ, не более, чем в 1,2 раза. 2. Допустимым диапазоном значений визуального эргономического параметра называется диапазон, при котором обеспечивается безошибочное считывание информации, а время реакции человека-оператора превышает минимальное, установленное экспериментально для данного типа ВДТ, не более, чем 1,5 раза. Конструкция ВДТ должна предусматривать наличие ручек регулировки яркости и контраста, обеспечивающие возможность регулировки этих параметров от минимальных до максимальных значений. В целях защиты от электромагнитных и электростатических полей допускается применение при экранных фильтров, специальных экранов и других средств индивидуальной защиты, прошедших испытания в аккредитованных лабораториях и имеющих соответствующий гигиенический сертификат. Конструкция клавиатуры должна предусматривать: - исполнение в виде отдельного устройства с возможностью свободного перемещения; - опорное приспособление, позволяющее изменять угол наклона поверхности клавиатуры в пределах от 5 до 15 градусов; - высоту среднего ряда клавиш не более 30 мм; - расположение часто используемых клавиш в центре, внизу и справа, редко используемых - вверху и слева; - выделение цветом, размером, формой и местом расположения функциональных групп клавиш; - минимальный размер клавиш - 13 мм, оптимальный - 15 мм; - клавиши с углублением в центре и шагом 19 _ 1 мм; - расстояние между клавишами не менее 3 мм; - одинаковый ход для всех клавиш с минимальным сопротивлением нажатию 0,25 Н и максимальном - не более 1,5 Н; - звуковую обратную связь сигнала и возможности ее отключения. 3 Требования к помещениям для эксплуатации ВДТ и ПЭВМ Помещения с ВДТ и ПЭВМ должны иметь естественное и искусственное освещение. Естественное освещение должно осуществляться через светопроемы, ориентированные преимущественно на север и северо-восток и обеспечивать коэффициент естественной освещенности (КЕО) не ниже 1.2% в зонах с устойчивым снежным покровом и не ниже 1.5% на остальной территории. Указанные значения КЕО нормируются для зданий, расположенных в III световом климатическом поясе. Площадь на одно рабочее место с ВДТ или ПЭВМ для взрослых пользователей должна составлять не менее 6,0 кв.м, а объем не менее 20,0 куб.м. Площадь на одно рабочее место с ВДТ и ПЭВМ во всех учебных и дошкольных учреждениях должна быть не менее 6,0 кв.м, а объем не менее 24,0 куб.м. При строительстве новых и реконструкции действующих средних, средних специальных и высших учебных заведений помещения для ВДТ и ПЭВМ следует проектировать высотой (от пола до потолка) не менее 4,0 м. Производственные помещения, в которых для работы используются преимущественно ВДТ и ПЭВМ (диспетчерские, операторские, расчетные и др.), и учебные помещения аудитории вычислительной техники, дисплейные классы, кабинеты и др.), не должны граничить с помещениями, в которых уровни шума и вибрации превышают нормируемые значения (механические цеха, мастерские, гимнастические залы и т.п.). Звукоизоляция ограждающих конструкций помещений с ВДТ и ПЭВМ должна отвечать гигиеническим требованиям и обеспечивать нормируемые параметры шума. Помещения с ВДТ и ПЭВМ должны оборудоваться системами отопления, кондиционирования воздуха или эффективной приточно-вытяжной вентиляцией. Для внутренней отделки интерьера помещений с ВДТ и ПЭВМ должны использоваться диффузно-отражающие материалы с коэффициентом отражения для потолка - 0.7-0.8; для стен - 0.5-0.6; для пола - 0.3-0.5. Полимерные материалы, используемые для внутренней отделки интерьера помещений с ВДТ и ПЭВМ, должны быть разрешены для применениями органами и учреждениями Государственного санитарно-эпидемиологического надзора. Поверхность пола в помещениях эксплуатации ВДТ и ПЭВМ должна быть ровной, без выбоин, нескользкой, удобной для очистки и влажной уборки, обладать антистатическими свойствами. 4 Требования к микроклимату, содержанию аэроинов и вредных химических веществ в воздухе помещений эксплуатации ВДТ И ПЭВМ. В производственных помещениях, в которых работа на ВДТ и ПЭВМ является вспомогательной, температура, относительная влажность и скорость движения воздуха на рабочих местах должны соответствовать действующим санитарным нормам микроклимата производственных помещений (приложения 2). Приложение 2. Оптимальные нормы микроклимата для помещений с ВДТ и ПЭВМ. |Период года |Категория |Температура |Относительна|Скорость | | |работ |воздуха, |я влажность |движения | | | |гр.C не |воздуха, % |воздуха, м/с| | | |более | | | |Холодный |Легкая-1а |22-24 |50-60 |0.1 | | |Легкая-1б |21-23 |40-60 |0.1 | |Теплый |Легкая-1а |23-25 |40-60 |0.1 | | |Легкая-1б |22-24 |40-60 |0.2 | Примечания: к категории 1а относятся работы, производимые сидя и не требующие физического напряжения, при которых расход энергии составляет 120 ккал/ч; к категории 1б относятся работы, производимые сидя, стоя или связанные с ходьбой и сопровождающиеся некоторым физическим напряжением, при которых расход энергии составляет от 120 до 150 ккал/ч. В производственных помещениях, в которых работа на ВДТ и ПЭВМ является основной (диспетчерские, операторские, расчетные, кабины и посты управления, залы вычислительной техники и др.), должны обеспечиваться оптимальные параметры микроклимата (приложение 2). Для повышения влажности воздуха в помещениях с ВДТ и ПЭВМ следует применять увлажнители воздуха, заправляемые ежедневно дистиллированной или прокипяченной питьевой водой. Помещения с ВДТ и ПЭВМ перед началом и после каждого академического часа учебных занятий, до и после каждого занятия в дошкольном учреждении должны быть проветрены, что обеспечивает улучшение качественного состава воздуха, в том числе и аэроионный режим. Уровни положительных и отрицательных аэроионов в воздухе помещений с ВДТ и ПЭВМ должны соответствовать нормам, приведенным в приложении 3. Приложение 3. Уровни ионизации воздуха помещений при работе на ВДТ и ПЭВМ |Уровни |Число ионов в см куб. воздуха | | |n+ |n- | |Минимально необходимые |400 |600 | |Оптимальные |1500-3000 |3000-5000 | |Максимально допустимые |50000 |50000 | Содержание вредных химических веществ в производственных помещениях, работа на ВДТ и ПЭВМ в которых является основной (диспетчерские, операторские, расчетные, кабины и посты управления, залы вычислительной техники и др.), не должно превышать "Предельно допустимых концентраций загрязняющих веществ в атмосферном воздухе населенных мест". Содержание вредных химических веществ в воздухе помещений использования ВДТ и ПЭВМ в дошкольных и всех учебных заведениях, включая вузы, не должно превышать среднесуточных концентраций для атмосферного воздуха. 5 Требования к шуму и вибрации В производственных помещениях, в которых работа на ВДТ и ПЭВМ является вспомогательной, уровни шума на рабочих местах не должны превышать значений, установленных для данных видов работ "Санитарными нормами допустимых уровней шума на рабочих местах". При выполнении основной работы на ВДТ и ПЭВМ (диспетчерские, операторские, расчетные кабины и посты управления, залы вычислительной техники и др.), во всех учебных и дошкольных помещениях с ВДТ и ПЭВМ уровень шума на рабочем месте не должен превышать 50 дБА. В помещениях, где работают инженерно-технические работники, осуществляющие лабораторный, аналитический или измерительный контроль, уровень шума не должен превышать 60 дБА. В помещениях операторов ЭВМ (без дисплеев) уровень шума не должен превышать 65 дБА. На рабочих местах в помещениях для размещения шумных агрегатов вычислительных машин (АЦПУ, принтеры и т.п.) уровень шума не должен превышать 75 дБА . В производственных помещениях, в которых работа с ВДТ и ПЭВМ является основной, а также во всех учебных и дошкольных помещениях с ВДТ и ПЭВМ вибрация на рабочих местах не должна превышать допустимых норм вибрации. Шумящее оборудование (АЦПУ, принтеры и т.п.), уровни шума которого превышают нормированные, должно находиться вне помещения с ВДТ и ПЭВМ. 6 Требования к освещению помещений и рабочих мест с ВДТ и ПЭВМ Искусственное освещение в помещениях эксплуатации ВДТ и ПЭВМ должно осуществляться системой общего равномерного освещения. В производственных и административно-общественных помещениях, в случаях преимущественной работы с документами, допускается применение системы комбинированного освещения (к общему освещению дополнительно устанавливаются светильники местного освещения, предназначенные для освещения зоны расположения документов). Освещенность на поверхности стола в зоне размещения рабочего документа должна быть 300-500 лк. Допускается установка светильников местного освещения для подсветки документов. Местное освещение не должно создавать бликов на поверхности экрана и увеличивать освещенность экрана более 300 лк. Следует ограничивать прямую блесткость от источников освещения, при этом яркость светящихся поверхностей (окна, светильники и др.), находящихся в поле зрения, должна быть не более 200 кд/кв.м. Следует ограничивать отраженную блесткость на рабочих поверхностях (экран, стол, клавиатура и др.) за счет правильного выбора типов светильников и расположения рабочих мест по отношению к источникам естественного и искусственного освещения, при этом яркость бликов на экране ВДТ и ПЭВМ не должна превышать 40 кд/кв.м. и яркость потолка, при применении системы отраженного освещения, не должна превышать 200 кд/кв.м. Показатель ослепленности для источников общего искусственного освещения в производственных помещениях должен быть не более 20, показатель дискомфорта в административно-общественных помещениях не более 40, в дошкольных и учебных помещениях не более 25. Следует ограничивать неравномерность распределения яркости в поле зрения пользователя ВДТ и ПЭВМ, при этом соотношение яркости между рабочими поверхности не должно превышать 3:1-5:1, а между рабочими поверхностями и поверхностями стен и оборудования 10:1. В качестве источников света при искусственном освещении должны применяться преимущественно люминесцентные лампы типа ЛБ. При устройстве отраженного освещения в производственных и административно-общественных помещениях допускается применение металлогалогенных ламп мощностью до 250 Вт. Допускается применение ламп накаливания в светильниках местного освещения. 7 Требования к пожароопасности Пожар - неконтролируемое горение во времени и пространстве, наносящее материальный ущерб и создающее угрозу жизни и здоровью людей. Нормативные документы: - Федеральный закон о пожарной безопасности (94г); - Правила пожарной безопасности в РФ,01.93г; - СНИП 2.01.02-85* "Противопожарные нормы"; - ГОСТ 12.1.044-91 "Пожарная безопасность. Общие требования"; - ГОСТ 12.1.044-89 "Пожаро- взрыво- опасность веществ и материалов". Опасные факторы пожаров и взрывов.(ГОСТ12.1.004-91) Причины: 1. Ошибки в технологических процессах и проектировании; 2. Конструктивные недостатки оборудования, неправильный выбор исполнения электрооборудования для взрывоопасных зон; 3. Неправильное применение открытого огня; 4. Процессы самовозгорания; 5. Нарушение требований СниП. Опасные факторы пожара: 1. высокая температура окружающей среды; 2. дым; 3. сниженная концентрация кислорода (<12%); 4. отравляющие вещества, токсичные продукты горения; 5. вторичные проявления пожара: разрушающиеся здания и конструкции, выход горючих газов, жидкостей из трубопроводов и т.д., огнетушащие вещества (CO2 (-60 C), фреон), взрыв. Категории производств по взрывопожарной опасности. A - взрывопожароопасные производства; (АЗС, производство микросхем); Б - легковоспламеняющиеся жидкости, горючие газы, пыль; В - твердые горючие материалы и вещества; (помещения, где есть компьютеры); Г - открытый огонь или технология с высокой температурой; Д – не пожароопасные производства, твердые негорючие материалы в холодном состоянии; В современных ЭВМ очень высокая плотность размещения электронных схем. В непосредственной близости от них расположены провода, коммуникационные кабели. При протекании по ним электрического тока выделяется большое количество теплоты, повышается температура отдельных узлов, при этом возможно оплавление изоляции соединительных проводов, их оголение, и, следовательно короткое замыкание, которое сопровождается искрением. Это приводит к перегрузке электронных элементов, вызывает их перегрев и сгорание с разбрызгиванием искр. Для отвода теплоты используются системы вентиляции и кондиционирования, в свою очередь представляющие дополнительную пожарную опасность. Особую пожарную опасность представляют кабельные линии (горючий изоляционный материал, разветвленность, недоступность). Для понижения воспламеняемости и способности распространять пламя кабели покрывают огнезащитными покрытиями. В помещении находится огнетушитель ОУ-2, действует пожарная сигнализация, система воздухообмена. В качестве организационных мероприятий: инструкция по противопожарной безопасности, схема эвакуации при пожаре. Помещение регулярно проверяется пожарниками. По взрывопожарной опасности помещение можно отнести к категории В, класс пожарной зоны П-2а (ПУЭ), класс взрывоопасных зон (ПУЭ) В-2а. 8 Требования к организации и оборудованию рабочих мест с ВДТ И ПЭВМ Рабочие места с ВДТ и ПЭВМ по отношению к световым проемам должны располагаться так, чтобы естественный свет падал сбоку, преимущественно слева. Схемы размещения рабочих мест с ВДТ и ПЭВМ должны учитывать расстояния между рабочими столами с видеомониторами (в направлении тыла поверхности одного видеомонитора и экрана другого видеомонитора), которое должно быть не менее 2,0 м, а расстояние между боковыми поверхностями видеомониторов - не менее 1,2 м. Рабочие места с ВДТ и ПЭВМ при выполнении творческой работы, требующей значительного умственного напряжения или высокой концентрации внимания, следует изолировать друг от друга перегородками высотой 1,5-2,0 м. При конструировании оборудования и организации рабочего места пользователя ВДТ и ПЭВМ следует обеспечить соответствие конструкции всех элементов рабочего места и их взаимного расположения эргономическим требованиям с учетом характера выполняемой пользователем деятельности, комплексности технических средств, форм организации труда и основного рабочего положения пользователя. Конструкция рабочего стола должна обеспечивать оптимальное размещение на рабочей поверхности используемого оборудования с учетом его количества и конструктивных особенностей (размер ВДТ и ПЭВМ, клавиатуры и др.), характера выполняемой работы. При этом допускается использование рабочих столов различных конструкций, отвечающих своевременным требованиям эргономики. Конструкция рабочего стула (кресла) должна обеспечивать поддержание рациональной рабочей позы при работе на ВДТ и ПЭВМ, позволять изменять позу с целью снижения статического напряжения мышц шейно-плечевой области и спины для предупреждения развития утомления. Тип рабочего стула должен выбираться в зависимости от характера и продолжительности работы с ВДТ и ПЭВМ с учетом роста пользователя. Рабочий стул (кресло) должен быть подъемно-поворотным и регулируемым по высоте и углам наклона сиденья и спинки, а также расстоянию спинки от переднего края сиденья, при этом регулировка каждого параметра должна быть независимой, легко осуществляемой и иметь надежную фиксацию. Поверхность сиденья, спинки и других элементов стула (кресла) должна быть полумягкой, с нескользящим, не электризующимся и воздухопроницаемым покрытием, обеспечивающим легкую очистку от загрязнений. Экран видеомонитора должен находиться от глаз пользователя на оптимальном расстоянии 600-700 мм, но не ближе 500 мм с учетом размеров алфавитно-цифровых знаков и символов. В помещениях с ВДТ и ПЭВМ ежедневно должна проводиться влажная уборка. Помещения с ВДТ и ПЭВМ должны быть оснащены аптечкой первой помощи и углекислыми огнетушителями. 9 Мероприятия по уменьшению воздействия опасных и вредных производственных факторов Основные организационные мероприятия по обеспечению безопасности труда состоят в следующем: 1 Мероприятия по борьбе с шумами. [20] Для снижения шума на рабочих местах, создаваемых источниками и поступающего из вне, следует: 1. Ослабить шум самих источников (использование в конструкциях оборудования акустических экранов, звукопоглощающих кожухов); 2. Применять рациональное расположение оборудования; 3. Снизить эффект суммарного воздействия на рабочие места отраженных звуковых волн за счет звукопоглощения энергии прямых звуковых волн поверхностями ограждающих конструкций (звукопоглощающие щиты); 4. Использовать архитектурно-планировочные и технологические решения, направленные на изоляцию источников шума. 2 Мероприятия по предупреждению поражения электрическим током. [21] При проведении работ в электроустановках в целях предупреждения электротравм должны соблюдаться следующие организационные и технические мероприятия: 1. Организационные: - оформление работы нарядом; - осуществление допуска к работе; - оформление перерыва в работе; - оформление переводов на другие рабочие места; - оформление окончания работы. 2. Технические: - отключение оборудования, к которому осуществляется доступ; - вывешивание предупредительных знаков и плакатов безопасности; - проверка отсутствия напряжения; - заземление токоведущих частей. Технические средства защиты: - защитное заземление; - зануление; - выравнивание потенциалов; - защитное отключение; - электрическое разделение сети; - малое напряжение (до 42В); - двойная изоляция. 3 Мероприятия по борьбе со статическим электричеством. [22] Для снижения величин возникающих разрядов статического электричества в ВЦ, следует: - выполнить покрытие технологических полов из поливинилхлоридного линолеума марки АСН; - делать местное и общее увлажнение воздуха. 4 Мероприятия по борьбе с пожароопасностью. [23] Учитывая высокую стоимость оборудования ВЦ, а также категорию их пожароопасности, здание ВЦ должно быть построено из строительных материалов 1 или 2 степени стойкости, кроме того: 1. Все виды кабелей от трансформаторных подстанций и двигатель-генераторных прокладываются в металлических газовых трубах вплоть до распределительных стоек и щитов питания; 2. В машинных залах кабельные линии прокладываются под технологическим полом, выполненным из негорючих или трудно горючих материалов. Подпольное пространство разделяется несгораемыми перегородками, коммуникации через них прокладываются в специальных обоймах из негорючих уплотняющих материалов; 3. Носители информации должны храниться в специальных несгораемых шкафах; 4. Необходимо наличие дымовых проемов и шахт; 5. Наличие первичных средств тушения пожара; 6. Наличие системы автоматической пожарной сигнализации, автоматического пожаротушения. 5 Защита от воздействия ЭМП. [19] Согласно ГОСТу ЭМП в диапазоне частот 60-300 мГц на рабочих местах в течении всего рабочего дня не должно превышать предельно допустимых уровней. Предусматриваются следующие методы и средства защиты от ЭМП излучения: 1. Уменьшение параметров излучения в самом источнике (применение поглотителей мощности); 2. Экранирование источника излучения; 3. Экранирование рабочего места; 4. Ограничить время пребывания персонала в рабочей зоне; 5. Увеличение расстояния между источниками и рабочими местами; 6. Установить рациональный режим эксплуатации установки; 7. Применить средства предупреждающей сигнализации; 8. Выделить зоны излучения; 9. Применить средства индивидуальной защиты. 6 Мероприятия по поддержанию заданных параметров микроклимата. [17] 1. Отопление (в холодный период года); 2. Кондиционирование (поддержание параметров воздушной Среды); 3. Вентиляция (подача свежего воздуха). При выполнении 2 и 3 пункта необходимо соблюдать нормы противопожарной безопасности. 7 Организация рабочего места. Планировка рабочего места должна удовлетворять требованиям удобства выполнения работы и экономии энергии и времени оператора, рационального использования производственных площадей, удобство обслуживания узлов ЭВМ, соблюдение правил охраны труда. Во время работы часто возникают ситуации, в которых оператор за короткий срок должен принять верное решение. Для успешной работы в таких условиях необходима рационально организованная окружающая среда, ограждающая работающего от посторонних раздражителей. Производственная среда должна сочетать в себе: - рациональное архитектурно-планировочное решение; - оптимальные санитарно-гигиенические условия: а) микроклимат; б) освещение; в) вентиляция; г) отопление и т.п. - научно-обоснованную цветовую окраску. 10 Экологические аспекты. Проблема зашиты окружающей среды - одна из важнейших задач современности. Выбросы промышленных предприятий, энергетических систем и транспорта в атмосферу, водоемы и недра на современном этапе развития достигли таких размеров, что в ряде районов уровни загрязнений существенно превышают допустимые санитарные нормы. Множество разработанных технологических процессов и появление новых видов продукции привели не только к увеличению количества загрязнений, но и к существенному увеличению токсичных примесей, поступающих в окружающую среду. Охрана природы определяется как система мер, направленных на поддержание рационального взаимодействия между деятельностью человека и окружающей природной средой, обеспечивающая сохранение и восстановление природных богатств, рациональное использование природных ресурсов, предупреждающая прямое и косвенное вредное влияние результатов деятельности общества на природу и здоровье человека. Безотходная технология является наиболее активной формой защиты окружающей среды от вредного воздействия различных выбросов предприятий. Под понятием “безотходная технология" следует понимать комплекс природоохранных мероприятий в технологических процессах от обработки сырья до использования готовой продукции, в результате чего сокращается до минимума количество вредных выбросов и уменьшается воздействие отходов на окружающую среду до приемлемого уровня. В этот комплекс мероприятий входят: - создание и внедрение процессов получения продукции с образованием наименьшего количества отходов; - разработка различных типов бессточных технологических систем и водооборотных циклов на базе способов очистки сточных вод; - разработка систем переработки отходов производства во вторичные материальные ресурсы; - создание территориально-промышленных комплексов, имеющих замкнутую структуру материальных потоков сырья и отходов внутри комплекса. Высшая роль в защите окружающей среды отводится мероприятиям по рациональному размещению источников загрязнения. К ним относятся: - вынесение промышленных предприятий из крупных городов и сооружение новых в малонаселенных районах с непригодными и малопригодными для сельскохозяйственного использования землями; - оптимальное расположение промышленных предприятий с учетом топографии местности и розы ветров; - установление санитарных охранных зон вокруг промышленных предприятий; - рациональная планировка городской застройки, обеспечивающая оптимальные экологические условия для человека и растений. Угроза загрязнения окружающей среды на ГУП НПО “Марс” может возникнуть при нарушении в технологических средствах очистки, когда происходит сброс продуктов переработки с водой в водоем или в случае возникновения пожара, приводящего к выбросу в окружающую среду вредных продуктов горения. 11 Чрезвычайные ситуации. В заволжском районе г. Ульяновска могут возникнуть чрезвычайные ситуации производственного (техногенного), экологического и природного характера. 1. Чрезвычайные ситуации производственного характера: - транспортная авария (катастрофа); - пожары, взрывы, с последующим горением; - аварии с выбросом вредных веществ; - аварии с выбросом (или угрозой выброса) радиоактивных веществ; - обрушение сооружений; - аварии на коммунальных системах жизнеобеспечения; - аварии на электроэнергетических системах; - гидродинамические аварии. В этих ситуациях источниками опасности будут являться автотранспорт и железнодорожный транспорт, железнодорожная станция “Верхняя терраса”, предприятия, в производстве которых применяются вредные вещества. К таким относятся УАПК, где применяется хлор и азотная кислота; ПО УМЗ - хлор и азотная кислота; и другими промышленные предприятия в число которых входит и ГУП НПО “Марс”. Источниками опасности являются также газопровод, автозаправочные станции, на которых сосредоточена большая емкость бензина и дизельного топлива, дамба на Нижней Террасе протяженностью 8,2 км, НИИАР в г. Димитровграде с атомными реакторами. Аварийная ситуация на ГУП НПО “Марс” может возникнуть при нарушении в технологических средствах очистки, когда происходит сброс продуктов переработки с водой в водоем, также может возникнуть пожароопасная ситуация, приводящая к выбросу в окружающую среду вредных продуктов горения. 2. Чрезвычайные ситуации природного происхождения: - метеорологические опасные явления (бури, град, сильный ливень, мороз, метель, гололед, сильная жара и др.); - гидрологические опасные явления (сильные волнения р. Волги в районе дамбы, высокий уровень воды, повышение уровня грунтовых вод); - инфекционная загрязненность р. Волги. 3. Чрезвычайные ситуации экологического характера: - повышение предельно допустимых концентраций вредных примесей в атмосфере; - образование обширной зоны кислотных осадков. Во избежании несчастных случаев население должно быть своевременно предупреждено о возникновении чрезвычайных ситуаций. 12 Расчет количества воздуха, подаваемого в помещения системами вентиляции. Метеорологические условия (микроклимат) в производственном помещении характеризуются температурой t, относительной влажностью ( и скоростью движения воздуха. Эти параметры, определяя процесс теплового взаимодействия человека с окружающей средой, характеризуют условия труда работающего. В человеческом организме постоянно протекают биохимические обменные процессы, сопровождающиеся выделением тепла. Величина тепловыделений взрослого человека составляет примерно 80 Дж/с во время сна, 90 Дж/с при бодрствовании в покое, 300-500 Дж/с при работе в зависимости от степени ее тяжести. Для человека необходимо, чтобы количество образующегося в организме тепла всегда было равно теплоотдаче в окружающую среду, которая зависит от ее охлаждающей способности, характеризуемой метеорологическими условиями. Тепло Q, выделяемое человеком, отводится в окружающую среду благодаря конвенции воздуха у тела. Количество воздуха L, м^3/ч, которое необходимо подавать в помещение для обеспечения требуемых параметров воздушной среды, определяется расчетом на основании количества тепла и влаги, поступающих в помещение. Расчет ведется отдельно для теплого, холодного и переходного периодов для плотности воздуха, подаваемого в помещение, ( = 1.2 кг/м^3. 1. При расчете по избыткам явного тепла: Lт = Q / C * ( ( tу - tн ), где Q - избыточный поток явного тепла в помещение (тепловыделение от приборов, оборудования, теплопритоки через ограждения, от солнечной радиации, людей и т.д.), кДж/ч. С - удельная теплоемкость воздуха, равная 1кДж/кг(С tу, tн - температуры удаляемого и наружного воздуха, (C. Расчетная температура наружного воздуха tн для г. Ульяновска в теплый период 23.8 (С, в холодный и переходный -18 (С. 2. Минимальное количество наружного воздуха, подаваемого в помещение при возможности естественного проветривания, должно быть 30 м^3/ч на одного человека при объеме приходящегося на него помещения менее 20 м^3, 20 м^3/ч - при объеме 20 м^3 и более. При невозможности естественного проветривания количество подаваемого воздуха на одного человека должно быть не менее 60 м^3/ч. В производственных помещениях необходимо создать и поддерживать метеорологические условия, которые устанавливая тепловой баланс человека и среды (соответствие тепловыделений организма и охлаждающей способности Среды), обеспечивали бы хорошее самочувствие работающих и оптимальные условия для высокой производительности труда. Произведем оценку объема рабочего помещения, в котором надлежит работать, длина комнаты составляет около 12 м, ширина около 7 м, высота около 4 м, следовательно объем рабочего помещения составляет около 340 м^3. В помещении постоянно находятся 5 человек, причем выполняемая ими работа относится к категории 1б, следовательно расход энергии составляет 150 ккал/ч, исходя из этого получаем (150/4,12) величину тепловыделения человека 36 кДж/ч. Приборов, которые выделяли бы некоторое значительное количество тепла в комнате нет. Исходя из вышесказанного, на одного человека приходится около 68 м^3 помещения, следовательно минимальное количество наружного воздуха, подаваемого в помещение при возможности естественного проветривания должно быть 20 м^3/ч, так как объем помещения на одного человека более 20 м^3. Следовательно, избыточный поток явного тепла будет составлять 36 * 5 = 180 (кДж/ч). Подставим в формулу необходимые для расчета данные: температура в помещении составляет в среднем 16 - 17 (С, температура наружного воздуха берется 23.8, так как расчеты производятся в теплый период года, а именно в мае; Lт = 180 / 1 * 1.2 ( 17 - 23.8), получается отрицательное значение, а именно приблизительно равное - 20 м^3/ч. Из этого следует, что данная комната нуждается больше в обогреве, чем в проветривании, что в полной мере соответствует действительности, следовательно нормы БЖД на подачу воздуха не соблюдены. Организационно-экономическая часть 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; } ----------------------- Дата Подпись № документа Лист Изм 5 Лист
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