79823

Разработка программного обеспечения контроллера камер со сверхмалым временем экспозиции

Дипломная

Информатика, кибернетика и программирование

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

Русский

2015-02-15

681 KB

4 чел.

- 3 -

МОСКОВСКИЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ

(Технический Университет)

Кафедра Информационно-коммуникационных технологий

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

к дипломному проекту (работе)

На тему  Разработка программного обеспечения контроллера камер со сверхмалым       временем экспозиции

Студент    Овсиенко Анна Юрьевна


Руководитель проекта

Допущен к защите

Консультант проекта:

Специальная часть

Техника безопасности

Зав. Кафедрой

Москва, 2009г

Аннотация

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


Содержание


Введение

Актуальность

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

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

•съемка с частотой до 500 кадр/с (исследования объектов животного мира, большинство

машин и механизмов, баллистические исследования);

•съемка с частотой до 40000 кадр/с (физика, химия горения и взрыва, космическая и

авиационная техника, бионика и т.д.);

•съемка с частотой до нескольких миллионов кадр/с (исследования излучения лазеров,

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

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

К счастью, существуют и другие приемники информации, кроме кинопленки и магнитной ленты.  Носителями информации в общем случае выступают фотоны. Проблемами современных высокоскоростных систем регистрации быстропротекающих процессов занимается наука фотоника (официальное название - высокоскоростная фотография и фотоника - ВФиФ).Так, например, с 60-х гг. XX века фотонике известны позиционные запоминающие системы. В настоящее время в качестве приемников информации наиболее широко используются ПЗС. Современная высокоскоростная видеокамера совсем не содержит подвижных частей, а максимальная частота видеосъемки и разрешение определяются информационной емкостью ПЗС.

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

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

известно и то, что увеличение скорости видеозаписи неизбежно ведет к потере качества

изображения. Это объясняется тем, что в существующих на сегодняшний день светочувствительных матрицах ПЗС (CCD) и КМОП (CMOS) скорость считывания, обработки и передачи данных в запоминающее устройство недостаточно высока. С увеличением скорости съемки (частоты кадров) приходится уменьшать число рабочих пикселей матрицы, участвующих в формировании изображения, поэтому уменьшается сканируемая площадь изображения. Естественно, это снижает качество "картинки". Но пока это делается именно так. По этой причине возможности ускоренной съемки в цифровом кинематографе пока весьма ограничены.

Появившаяся в недалеком прошлом профессиональная видеокамера HDW-F900 фирмы Sony сделала возможной цифровую ускоренную съемку с вещательным качеством. В этой камере используются ПЗС (1920x1080), которые дают прекрасную разрешающую способность изображения, но не позволяют поднять частоту смены кадров более 30 в секунду при прогрессивной развертке и 60 полей в секунду при чересстрочной. Проще говоря, скорость съемки и видеозаписи повышается не более чем в три раза.

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

Например, для высокоскоростной рекламной съемки в большинстве случаев используются скорости записи 100…500 кадров/с. Для съемки же событий, занимающих десятые доли секунды, требуются скорости 500…1000 кадров/с. Что касается быстропротекающих процессов, с которыми приходится сталкиваться во время научных исследований, то они происходят за сотые или тысячные доли секунды и даже более короткие промежутки времени. Очевидно, что здесь требуются гораздо более высокие скорости съемки и обычные телевизионные камеры для этих целей не подходят. Для экспериментаторов принципиально важно увидеть и понять, что реально происходит во время того или иного быстропротекающего процесса, а не строить свою работу на догадках.  Первую механическую высокоскоростную камеру сконструировал австрийский физик-философ Эрнст Мах (1838…1916) сумел получить снимки артиллерийского снаряда в полете. На этих снимках были запечатлены загадочные темные "усы", расходящиеся в стороны и назад от носа снаряда. Эта первая высокоскоростная съемка дала возможность понять, что темные "усы" - это конус ударной волны (ныне называемый конусом Маха), которая производится движением снаряда в воздухе со скоростью выше скорости звука. Также эта съемка помогла связать угол конуса (угол Маха) с отношением скорости снаряда к скорости звука (числом Маха).

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

В настоящее ведущим разработчиком в области производства высокоскоростных

цифровых видеокамер для регистрации (съемки) быстропротекающих процессов является фирма Redlake (США). В России это место занимает фирма «НПК Видеоскан». В состав разработок входят такая продукция: высокочувствительные камеры высокого разрешения, высокоскоростные цифровые камеры с частотой до 10000 кадр/с и более, теневой импульсный регистратор, экспозиции до 100 нс, камера на линейном сенсоре, камера визирования с выходом SXGA 60Гц и онлайн-обработкой, система регистрации спектров, электронно-оптическая стробируемая камера со временем экспозиции от 10 нс и другие.

Среди них необходимо выделить Nanogate-2: электронно-оптическая стробируемая цифровая камера (Digital Gate ICCD)

Основой стробируемой камеры является импульсный электронно-оптический преобразователь (ЭОП) и цифровая ПЗС камера, предназначенная для считывания изображения с экрана ЭОП и передачи его в компьютер для обработки. Прибор может работать в широком спектральном диапазоне, производить регистрацию как однократных, так и периодических процессов в режиме накопления, вести обработку полученных изображений на компьютере. Характерной особенностью является полное цифровое управление логикой работы стробируемой камеры от компьютера. Основные характеристики камеры:

  •  Высокая чувствительность;
  •  Широкий диапазон управления затвором от 10 нс до 20 мкс, с шагом 10 нс;
  •  Регулируемая задержка открытия затвора от 40 нс до 1300 мкс, с шагом 5 нс (возможно значительное увеличение максимального значения задержки до десятков миллисекунд при одновременном увеличении шага - 50 нс, 100 нс или 200 нс);
  •  Режим многократной экспозиции(2..14 экспозиций) с интервалом от 260 нс;
  •  Спектральный диапазон от ультрафиолета до ИК;
  •  Высокое качество изображения;
  •  Полное цифровое управление работой камеры;
  •  Цифровая обработка изображений;
  •  Модульный принцип построения камеры;
  •  Широкий диапазон применений.


Применения

  •  Сверхскоростная фотография;
  •  Исследование процессов горения;
  •  Быстропротекающие физические процессы;
  •  Импульсная флюоресценция;
  •  Измерения в ультрафиолетовой области спектра;
  •  Исследование плазмы;
  •  Исследование вибрации;
  •  Астрономия;
  •  Счет фотонов;
  •  Баллистика и анализ взрывных процессов.

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

Спектральные характеристики

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

Чувствительность к малым уровням освещения

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

Динамические характеристики 

  •  Длительность стробирующего (затворного) импульса может устанавливаться от 10 нс до 20мкс с шагом 10 нс.
  •  Временная задержка начала затворного импульса от момента прихода запускающего устанавливается от 40 нс до 1300 мкс с шагом 5,0 нс

Качество изображения

Камера использует стробируемый ЭОП, выходной экран которого оптически связан с ПЗС матрицей. Могут быть использованы различные ПЗС камеры с числом элементов до 1392 Х 1040 (H * V).

Новизна

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

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

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

Практическая значимость

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


Принципы разработки устройств на базе микроконтроллеров

Выбор микроконтроллера

 Микроконтроллер (MCU)— микросхема, предназначенная для управления электронными устройствами. Типичный микроконтроллер сочетает в себе функции процессора и периферийных устройств, может содержать ОЗУ и ПЗУ. По сути, это однокристальный компьютер, способный выполнять простые задачи. Использование одной микросхемы, вместо целого набора, как в случае обычных процессоров, применяемых в персональных компьютерах, значительно снижает размеры, энергопотребление и стоимость устройств, построенных на базе микроконтроллеров.

Микроконтроллеры являются основой для построения встраиваемых систем, их можно встретить во многих современных приборах, таких, как телефоны, стиральные машины и т. п. Бо́льшая часть выпускаемых в мире процессоров — микроконтроллеры.

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

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

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

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

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

  •  различные интерфейсы ввода-вывода, такие как UART, I²C, SPI, CAN, USB, Ethernet
  •  аналого-цифровые и цифро-аналоговые преобразователи
  •  компараторы
  •  широтно-импульсные модуляторы
  •  таймера
  •  контроллеры бесколлекторных двигателей
  •  контроллеры дисплеев и клавиатур
  •  радиочастотные приемники и передатчики
  •  массивы встроенной флеш памяти

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

Классы микроконтроллеров

Все микроконтроллеры можно условно разделить на 3 класса

  •  8-разрядные
  •  16- и 32- разрядный
  •  Цифровые сигнальные процессоры (DSP)

В настоящее время архитектура ARM занимает лидирующие позиции и охватывает 75% рынка 32-разр. встраиваемых RISC-микропроцессоров. Распространенность данного ядра объясняется его стандартностью, что предоставляет возможность разработчику более гибко использовать, как свои, так и сторонние программные наработки, как при переходе на новое процессорное ARM-ядро, так и при миграциях между разными типами ARM-микроконтроллеров.

В настоящее время разработано шесть основных семейств: ARM7, ARM9, ARM9E, ARM10, ARM11 и SecurCore. Также совместно с компанией Intel разработаны семейства XScale и StrongARM.

Набор инструкций Thumb

32-разр. ARM-процессоры поддерживают предшествующие 16-разр. разработки за счет поддержки набора инструк-ций Thumb. Использование 16-разр. инструкций позволяет сэкономить до 35% памяти по сравнению с эквивалентным 32-разр. кодом, при этом сохраняя все преимущества 32-разр. системы, например, доступ к памяти с 32-разр. адресным пространством.

Технология SIMD

Технология SIMD (несколько данных в одной инструкции) используется в media-расширении и нацелена на увеличение скорости обработки данных в приложениях, где требуется малое энергопотребление. SIMD-расширения оптимизированы под широкий диапазон программного обеспечения, в т.ч. аудио/видео кодеки, где они позволяют увеличить быстродействие обработки в 4 раза.

Набор инструкций ЦСП (DSP)

Многие приложения предъявляют повышенные требования по быстродействию реально-временной обработки сигналов. Традиционно в таких ситуациях разработчики прибегают к использованию цифрового сигнального процессора (ЦСП), что увеличивает энергопотребление и стоимость, как самой разработки, так и конечного устройства. Для устранения данных недостатков в ряд ARM-процессоров интегрированы инструкции ЦСП, выполняющие 16-разр. и 32-разр. арифметические операции.

Технология Jazelle

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

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

В настоящее время технология Jazelle интегрирована в следующие ARM-процессоры: ARM1176JZ(F)-S, ARM1136J(F)-S, ARM1026EJ-S, ARM926EJ-S и ARM7EJ-S.

Традиционные ARM-процессоры поддерживают 2 набора инструкций: в режиме ARM - 32-разрядные инструкции, а в режиме Thumb наиболее популярные инструкции сжимаются к 16-разр. формату. Технология Jazelle расширяет эту концепцию, добавляя третий набор инструкций Java, который активизируется в новом Java-режиме.

Технология интеллектуального управления энергопотреблением

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

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

Для облегчения данного процесса разработана технология интеллектуального управления энергопотреблением (Intelligent Energy Manager, IEM) для процессоров ARM. Данная технология является сочетанием аппаратных и программных компонентов, которые совместно выполняют динамическое управление напряжением питания ("power scaling").

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

где Р- общая потребляемая мощность, С - переключаемая емкость, fc - частота процессора, - напряжение пита-ния, - ток утечки в статическом режиме. Из выражения следует, что для регулировки энергопотребления могут варьироваться частота и напряжение питания.

Снижение частоты для уменьшения энергопотребления широко используется в микроконтроллерах и системах на кристаллах (PSoC), но не недостатком этого метода является снижение быстродействия. Метод динамического управления напряжением питания основан на варьировании напряжением питания, однако, если возможности регулировки исчерпаны, то как дополнительный используется метод регулировки частоты процессора.

Обзор отладочных плат

Таблица 1. Сравнение ARM-микроконтроллеров разных производителей по ключевым признакам

TMS 320 (Texas Instruments)

AT91 (Atmel)

LPC2000 (Philips)

Системные:

  •  Ядро ARM926EJ-S
  •  Делитель внешней синхронизации (ЕСР) позволяет тактировать внешнее устройство нужной частотой
  •  Ядро ARM7TDMI/ARM920T
  •  Опциональный встроенный калиброванный RC-генератор
  •  ПДП для обмена данными между периферийными устройствами и памятью существенно разгружает процессор
  •  Раздельное вкл/откл синхронизации каждого периферийного устройства (250 мкА, если все откл.)
  •  Встроенный стабилизатор 1,8В

  •  Ядро ARM7TDMI-S (несколько хуже удельное потребление по сравнению с ARM7TDMI)
  •  Версии для температурного диапазона -40+105C

Память:

  •  Флэш-память до 1 Мбайт
  •  Модуль защиты памяти (MSM)
  •  Экономичное статическое ОЗУ (например, AT91M40800 на 40 МГц с внешним ОЗУ (12нс) потребляет 120 мА, а AT91R40807 с внутренним ОЗУ при тех же условиях потребляет 50 мА).

  •  Флэш-память с 128-разр. интерфейсом ускорителя для работы на частоте 60 МГц

Аналоговая периферия:

  •  Многобуферный АЦП:

- 10 разр., 16 каналов, 1,75 мкс (выборка-хранение, преобразование);

- возможность организации групп из каналов;

- модели программирования: совместимость с АЦП TMS320 и буферизация результата преобразования (FIFO);

- режимы работы: преобразование, калибровка (поиск средней точки ошибки смещения АЦП);

- самотестирование (проверка неиспр. на аналоговых входах); выключение.

- три канала ПДП;

- запуск преобразования, в т.ч. группового, по внешнему событию или таймеру;

- выводы задания обеих границ преобразования (выводы ADREFHI и ADREFLO).

 

  •  10-разр. мультиплексиро-ванный АЦП:

- время преобразования 2,44 мкс (400 тыс. преобр. в сек.)

- диапазон преобразова-ния 0 3В

- запуск внешним сигналом или таймером

Цифровая периферия:

  •  Высококачественный таймер (HET):

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

- специализированная предопределенная таймерная микромашина, связанная с линиями ввода-вывода.

  •  Аппаратный генератор углов (HWAG) для реше-ния задач управления двигателями:

- совместная работа с НЕТ

  •  Часы реального времени с отдельным входом резервного питания
  •  Периодический интервальный таймер (PIT) для генерации прерываний, синхронизированных со временем

  •  32-разр. таймеры (каналы захвата фронтов и каналы сравнения), блок ШИМ (6 выходов), часы реального времени

Интерфейсы:

  •  Последовательные интерфейсы 2-го класса (C2SIa и C2SIb)

- прием и передач данных в многомастерной сети;

- связь TMS320 с внешними аналоговыми ин-терфейсными микросхемами;

- буферизация, детекция ошибок и обрывов, калибровка и др.

- высококачественные (HECC): почтовый ящик на 32 сообщения.

  •  Интерфейс с ЦСП

- соединяет TMS320 и мегамодуль ЦСП TMS320

  •  Модуль расширения шины (ЕВМ):

- поддержка 8 или 16-разр. внешней памяти;

- функция ввода-вывода общего назначения, если внешняя шина не используется

  •  Интерфейс USB 2.0
  •  Интерфейс внешней памяти с конфигурируемыми выходами выбора внешних микросхем
  •  Контроллер высокоскоростного программирования:

- последовательные и параллельные режимы программирования флэш-памяти

  •  Интерфейсы флэш-карт (RM9200)
  •  
  •  УАПП, совместимый с 16C550

- поддержка модемных сигналов на одном из УАПП

  •  Конфигурируемый интерфейс внешней памяти с 4 банками и разрядностью данных 8/16/32

Вывод

Анализ нескольких вариантов отладочных плат привел к выводу, что для разработки устройств, отвечающих требованиям высокоскоростных видеокамер, таких как: качественная обработка интенсивного потока данных, малая потребляемая мощность, наличие периферийных устройств, необходимых для оптимизации обработки видео-потока, наличие кодеков — наиболее подходящим медиа процессором является TMS320-серии (Texas Instruments) из семейства  DaVinci.

Семейство DaVinci «родилось» с появлением процессоров TMS320DM644x на базе двух ядер, ARM и DSP. При реализации приложений видеообработки на этом процессоре, ARM-ядро берет на себя задачи управления (периферийными устройствами, операционной системой и др.), а DSP-ядро отвечает за вычислительную часть (кодирование-декодирование видео). Среди TMS320DM644x существуют модификации процессоров, поддерживающие кодирование-декодирование видео (DM6446), только декодирование видео (DM6443), а также модификация для приложений с низким энергопотреблением (DM6441).

Для приложений, в которых ARM-ядро избыточно, т.е. когда для задач управления не требуется много ресурсов, компания Texas Instruments выпустила семейство процессоров DM643x. Процессоры представляют собой версию семейства DM644x без ARM-ядра. За счет «урезания» ARM-ядра, сократилась также цена решения.

Описание TMS 320DM355

Цифровые медиапроцессоры TMS320DM355 построены на базе подсистемы видеообработки, сопроцессора MPEG4/JPEG и ARM-ядра, оптимизированы для портативных видеоприложений с высокой четкостью. Доступны версии с рабочей частотой 216 МГц и 270 МГц. Блок-схема процессора показана на рисунке 1.

 

Рис. 1. Блок-схема процессора TMS320DM355 

Отличительные характеристики TMS320DM355:

  •  Ядро ARM926EJ-S, работающее на частоте 215 МГц;
  •  Сопроцессор для обработки видео/изображений, работающий на частоте от 216 или 270 МГц, поддерживает:

- Аппаратный конвейер для обработки изображений в реальном времени;

- Интерфейс ПЗС и КМОП-датчиков;

- 14-битный параллельный интерфейс AFE (Analog Front End)с частотой работы до 75 МГц;

- BT.601/BT.656 цифровой YCbCr 4:2:2 (8-/16-бит) интерфейс;

- Модуль гистограмм;

- Масштабировщик;

- Аппаратный On-Screen Display (OSD);

- Композитный NTSC/PAL-выход;

- 8-/16-бит YCC и до 18-бит RGB666 цифровой выход;

- BT.601/BT.656 цифровой интерфейс YCbCr 4:2:2 (8-/16-бит);

- Поддержка цифрового HDTV (720p/1080i) выхода для подключения внешнего кодера;

  •  Сопроцессор для MPEG/JPEG, поддерживает:

- MPEG4 SP-кодирование с HD (720p), D1, VGA, SIF;

- JPEG кодирование, до 50 мегапикселей/сек.

  •  Интерфейс внешней памяти;
  •  Интерфейс Flash-карт;
  •  64 независимых канала прямого доступа к памяти;
  •  USB 2.0 с физическим уровнем PHY
  •  Три UART;
  •  Три SPI;
  •  I2C;
  •  Два последовательных аудиопорта.
  •  Четыре выхода ШИМ;
  •  Корпус 13x13 мм BGA с 337 выводами;
  •  Низкое энергопотребление

- <400 мВт при кодировании видео с высоким разрешением (720p);

- ~1 мВт в режиме низкого энергопотребления.

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


Обзор операционных систем и языков программирования для микроконтроллеров серии TMS320DM355

Обзор операционных систем

Операционные системы, которые поддерживаются архитектурой выбранной платы:

  •  Linux
  •  Neutrino
  •  Integrity

Операционная система реального времени QNX Neutrino

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

Защищенные системы реального времени на базе операционной системы QNX предназначены для применения в автоматизированных системах, предъявляющих к операционным системам повышенные требования по безопасности и защищенности (глубина контроля отсутствия недекларированных возможностей (НДВ), наличие встроенных механизмов защиты информации от несанкционированного доступа (НСД), возможность создания прикладных средств защиты информации от НСД))

Пакеты исходных кодов


Пакеты исходных кодов (QNX® Source Kits) обеспечивают гибкие возможности для модификации технологий, входящих в комплект разработчика QNX Momentics®, что позволяет создавать уникальные и конкурентоспособные продукты. Данные комплекты содержат исходный код, документацию и примеры приложений, которые позволяют расширять функциональность систем, создавать различные версии и модели продуктов и осуществлять портирование разработок на специализированные аппаратные платформы.

Мультимедийные решения QNX

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

Графические решения QNX

 ОСРВ QNX Neutrino предоставляет возможности использования расширенной графики для приложений с большим количеством визуального содержания. Благодаря мощной встраиваемой оконной системе, масштабируемым веб-браузерам, многослойности, 3D-графике (OpenGL ES) и поддержке множества популярных мультимедийных форматов, ОСРВ QNX Neutrino позволяет добавлять во встраиваемые устройства сложные графические элементы при минимальных затратах.

Пакеты поддержки плат QNX (BSP)

QNX Neutrino поддерживает различные процессорные архитектуры (например, PowerPC, MIPS, ARM, SH-4, x86). Все необходимые компоненты для запуска Neutrino на конкретных платах собраны в пакеты поддержки плат QNX BSP.

Операционная система Integrity

Продукт INTEGRITY (компания Green Hills Software) [INTEGRITY] – это ОСРВ с предсказуемым временем отклика, рассчитанная на применение в тех ситуациях, когда необходимы масштабируемость ОС, её компактность и возможность работы в режиме реального времени. Платформа INTEGRITY построена на базе микроядра velOSity [Velosity] и хорошо подходит для использования в недорогих устройствах с ограниченными аппаратными ресурсами (сюда относится большая часть потребительской электроники). Для своей операционной системы компания Green Hills предлагает интегрированную среду разработки MULTI, полностью автоматизирующую процесс создания ПО. Поддерживая многоязыковую разработку и отладку, графический интерфейс пакета MULTI дает пользователю быстрый и удобный доступ к оптимизирующим C/C++ компиляторам и функциям MISRA C. В этом инструментальном пакете содержится отладчик уровня входного языка, компоновщик, анализатор событий, профилировщик производительности, программа обнаружения ошибок периода исполнения и средство отладки, не нарушающее основного режима функционирования.

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

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

Операционная система Linux

Linux (полное название GNU/Linux) — общее название UNIX-подобных операционных систем на основе одноимённого ядра и собранных для него библиотек и системных программ, разработанных в рамках проекта GNU. Краткое название Linux распространено потому, что первой, наиболее популярной и единственной системной библиотекой, использовавшейся в системах на базе ядра Linux, была GNU C Library (glibc).

GNU/Linux работает на PC-совместимых системах семейства Intel x86, а также на IA-64, AMD64, PowerPC, ARM и многих других.

К операционной системе GNU/Linux также часто относят программы, дополняющие эту операционную систему, и прикладные программы, делающие её полноценной многофункциональной операционной средой.

В отличие от большинства других операционных систем, GNU/Linux не имеет единой «официальной» комплектации. Вместо этого GNU/Linux поставляется в большом количестве так называемых дистрибутивов, в которых программы GNU соединяются с ядром Linux и другими программами.

Основные преимущества Linux перед остальными операционными системами, поддерживаемыми выбранным микроконтроллером:

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

Обзор языков программирования

Языки программирования, используемые для программирования микроконтроллеров (самые используемые из них):

  •  Си - ценят за его эффективность; он является самым популярным языком для создания системного программного обеспечения. Его также часто используют для создания прикладных программ. Для языка Си характерны лаконичность, современный набор конструкций управления потоком выполнения, структур данных и обширный набор операций. Язык программирования Си отличается максимализмом функций. Авторы языка хотели, чтобы программы на нём легко компилировались с помощью однопроходного компилятора, после компиляции каждой элементарной составляющей программы соответствовало весьма небольшое число машинных команд, а использование базовых элементов языка не задействовало библиотеку времени выполнения. Однопроходный компилятор компилирует программу, не возвращаясь назад, к уже откомпилированному тексту. Поэтому использованию функции должно предшествовать её объявление. Код на Си можно легко писать на низком уровне абстракции, почти как на ассемблере. Иногда Си называют «универсальным ассемблером» или «ассемблером высокого уровня», что отражает различие языков ассемблера для разных платформ и единство стандарта Си, код которого может быть скомпилирован без изменений практически на любой модели компьютера. Си часто называют языком среднего уровня или даже низкого уровня, учитывая то, как близко он работает к реальным устройствам.
  •  Си++. Язык программирования С++ произошёл от Си. Однако в дальнейшем Си и C++ развивались независимо, что привело к росту несовместимостей между ними. Последняя редакция Си, С99, добавила в язык несколько конфликтующих с С++ особенностей. Эти различия затрудняют написание программ и библиотек, которые могли бы нормально компилироваться и работать одинаково в компиляторах Си и C++, что, конечно, запутывает тех, кто программирует на обоих языках. Бьёрн Строуструп, придумавший C++, неоднократно выступал за максимальное сокращение различий между Си и C++ для создания максимальной совместимости между этими языками. Противники же такой точки зрения считают, что так как Си и C++ являются двумя различными языками, то и совместимость между ними не так важна, хоть и полезна. Согласно этому лагерю, усилия по уменьшению несовместимости между ними не должны препятствовать попыткам улучшения каждого языка в отдельности.
  •  Ассемблер - язык программирования "низкого уровня". В отличие от языка машинных кодов позволяет использовать более удобные для человека мнемонические (символьные) обозначения команд. При этом для перевода с языка ассемблера в понимаемый процессором машинный код требуется специальная программа, также называемая ассемблером. В силу своей машинной ориентации («низкого» уровня) человеку по сравнению с языками программирования высокого уровня сложнее читать и понимать программу, она состоит из слишком «мелких» элементов — машинных команд, соответственно усложняются программирование и отладка, растет трудоемкость, велика вероятность внесения ошибок. В значительной степени возрастает сложность совместной разработки. Как правило, меньшее количество доступных библиотек по сравнению с современными индустриальными языками программирования.  Отсутствует переносимость программ на ЭВМ с другой архитектурой и системой команд (кроме двоично совместимых).

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


Цели и задачи, решаемые системой

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

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

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

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

Решением данного парадокса является использование специальной маленькой компьютерной программы, называемой начальным загрузчиком, или BIOS (Basic Input/Output System). Эта программа не обладает всей функциональностью операционной системы, но её достаточно для того, чтобы загрузить другую программу, которая будет загружать операционную систему. Часто используется многоуровневая загрузка, в которой несколько небольших программ вызывают друг друга до тех пор, пока одна из них не загрузит операционную систему. Говорят, что загрузка похожа на процесс вытаскивания себя из болота за ногу, или за косу.

В современных компьютерах процесс начальной загрузки начинается с выполнения процессором команд расположенных в постоянной памяти (например на IBM PC — команд BIOS) начиная с предопределённого адреса (процессор делает это после перезагрузки без какой бы то ни было помощи). Данное программное обеспечение может обнаруживать устройства, подходящие для загрузки, и загружать со специального раздела самого выбранного устройства (чаще всего загрузочного сектора) данных устройств загрузчик ОС.

Начальные загрузчики должны соответствовать специфическим ограничениям, особенно это касается объёма. Например, на IBM PC загрузчик первого уровня должен помещаться в первых 446 байт главной загрузочной записи, оставив место для 64 байт таблицы разделов и 2 байта для сигнатуры AA55, необходимой для того, чтобы BIOS выявил сам начальный загрузчик.

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

Далее необходимо составить и реализовать протокол загрузки в оперативную память и передачу управления специальной программе — RRLoader (RidgeRun Loader — специальной программной среды для загрузки ядра в оперативную память и управления постоянным запоминающим устройством микроконтроллера).

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

Операционную систему можно условно разделить на два уровня, как показано на Рис. 2.


Рис. 2. Фундаментальная архитектура операционной системы GNU/Linux

 

На верхнем уровне находится пользовательское пространство (пространство приложений). Здесь исполняются приложения пользователя. Под пользовательским пространством располагается пространство ядра. Здесь функционирует ядро Linux.

Имеется также библиотека GNU C (glibc). Она предоставляет интерфейс системных вызовов, который обеспечивает связь с ядром и дает механизм для перехода от приложения, работающего в пространстве пользователя, к ядру. Это важно, поскольку ядро и пользовательское приложение располагаются в разных защищенных адресных пространствах.  При этом, в то время как каждый процесс в пространстве пользователя имеет свое собственное виртуальное адресное пространство, ядро занимает одно общее адресное пространство.

Ядро Linux можно, в свою очередь, разделить на три больших уровня. Наверху располагается интерфейс системных вызовов, который реализует базовые функции, например, чтение и запись. Ниже интерфейса системных вызовов располагается код ядра, точнее говоря, архитектурно-независимый код ядра. Этот код является общим для всех процессорных архитектур, поддерживаемых Linux. Еще ниже располагается архитектурно-зависимый код, образующий так называемый BSP (Board Support Package - пакет поддержки аппаратной платформы). Этот код зависит от процессора и платформы для конкретной архитектуры.

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

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

Давайте рассмотрим некоторые основные компоненты ядра Linux, следуя структуре, изображенной на рис. 3.


Рис. 3. Один из возможных взглядов на архитектуру ядра Linux

Интерфейс системных вызовов

SCI - это тонкий уровень, предоставляющий средства для вызова функций ядра из пространства пользователя. Как уже говорилось, этот интерфейс может быть архитектурно зависимым, даже в пределах одного процессорного семейства. SCI фактически представляет собой службу мультиплексирования и демультиплексирования вызова функций. Реализация SCI находится в ./linux/kernel, а архитектурно-зависимая часть - в ./linux/arch.

Управление процессами

Управление процессами сконцентрировано на исполнении процессов. В ядре эти процессы называются потоками (threads); они соответствуют отдельным виртуализованным объектам процессора (код потока, данные, стек, процессорные регистры). В пространстве пользователя обычно используется термин процесс, хотя в реализации Linux эти две концепции (процессы и потоки) не различают. Ядро предоставляет интерфейс программирования приложений (API) через SCI для создания нового процесса (порождения копии, запуска на исполнение, вызова функций Portable Operating System Interface [POSIX]), остановки процесса (kill, exit), взаимодействия и синхронизации между процессами (сигналы или механизмы POSIX).

Еще одна задача управления процессами - совместное использование процессора активными потоками. В ядре реализован новаторский алгоритм планировщика, время работы которого не зависит от числа потоков, претендующих на ресурсы процессора. Название этого планировщика - O(1) - подчеркивает, что на диспетчеризацию одного потока затрачивается столько же времени, как и на множество потоков. Планировщик O(1) также поддерживает симметричные многопроцессорные конфигурации (SMP). Исходные коды системы управления процессами находятся в ./linux/kernel, а коды архитектурно-зависимой части - в ./linux/arch).

Управление памятью

Другой важный ресурс, которым управляет ядро - это память. Для повышения эффективности, учитывая механизм работы аппаратных средств с виртуальной памятью, память организуется в виде т.н. страниц (в большинстве архитектур размером 4 КБ). В Linux имеются средства для управления имеющейся памятью, а также аппаратными механизмами для установления соответствия между физической и виртуальной памятью.

Однако управление памятью - это значительно больше, чем просто управление буферами по 4 КБ. Linux предоставляет абстракции над этими 4 КБ буферами, например, механизм распределения slab allocator. Этот механизм управления базируется на 4 КБ буферах, но затем размещает структуры внутри них, следя за тем, какие страницы полны, какие частично заполнены и какие пусты. Это позволяет динамически расширять и сокращать схему в зависимости от потребностей вышележащей системы.

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

Виртуальная файловая система

Еще один интересный аспект ядра Linux - виртуальная файловая система (VFS), которая предоставляет общую абстракцию интерфейса к файловым системам. VFS предоставляет уровень коммутации между SCI и файловыми системами, поддерживаемыми ядром (см. Рис. 4).



Рис. 4. VFS предоставляет коммутационную матрицу между пользователями и файловыми системами

На верхнем уровне VFS располагается единая API-абстракция таких функций, как открытие, закрытие, чтение и запись файлов. На нижнем уровне VFS находятся абстракции файловых систем, которые определяют, как реализуются функции верхнего уровня. Они представляют собой подключаемые модули для конкретных файловых систем (которых существует более 50). Исходные коды файловых систем находятся в ./linux/fs.

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

Сетевой стек

Сетевой стек по своей конструкции имеет многоуровневую архитектуру, повторяющую структуру самих протоколов. Вы помните, что протокол Internet Protocol (IP) - это базовый протокол сетевого уровня, располагающийся ниже транспортного протокола Transmission Control Protocol, TCP). Выше TCP находится уровень сокетов, вызываемый через SCI.

Уровень сокетов представляет собой стандартный API к сетевой подсистеме. Он предоставляет пользовательский интерфейс к различным сетевым протоколам. Уровень сокетов реализует стандартизованный способ управления соединениями и передачи данных между конечными точками, от доступа к "чистым" кадрам данных и блокам данных протокола IP (PDU) и до протоколов TCP и User Datagram Protocol (UDP). Исходные коды сетевой подсистемы ядра находятся в каталоге ./linux/net.

Драйверы устройств

Подавляющее большинство исходного кода ядра Linux приходится на драйверы устройств, обеспечивающие возможность работы с конкретными аппаратными устройствами. В дереве исходных кодов Linux имеется подкаталог драйверов, в котором, в свою очередь, имеются подкаталоги для различных типов поддерживаемых устройств, таких как SPI, I2C, последовательные порты и т.д. Исходные коды драйверов устройств находятся в ./linux/drivers.

Архитектурно-зависимый код

Хотя основная часть Linux независима от архитектуры, на которой работает операционная система, в некоторых элементах для обеспечения нормальной работы и повышения эффективности необходимо учитывать архитектуру. В подкаталоге ./linux/arch находится архитектурно-зависимая часть исходного кода ядра, разделенная на ряд подкаталогов, соответствующих конкретным архитектурам. Все эти каталоги в совокупности образуют BSP. В случае обычного настольного ПК используется каталог i386. В случае данной отладочной платы используется каталог arm. Подкаталог для каждой архитектуры содержит ряд вложенных подкаталогов, относящихся к конкретным аспектам ядра, таким как загрузка, ядро, управление памятью и т.д. Исходные коды архитектурно-зависимой части находятся в ./linux/arch.

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

Особенно важным является также создание временной файловой системы — initrd. Загрузочный RAM диск (Initrd) это образ корневой файловой системы, который монтируется до того как настоящая корневая фс будет доступна. Initrd связан с ядром и загружается как часть ядра в процессе загрузки системы. Ядро монтирует образ initrd в котором находятся необходимые модули для монтирования корневой фс и уже дальнейшего перехода в этот

корень как основной.

В initrd содержится минимальный набор директорий и исполняемых файлов для загрузки модулей, например insmod для загрузки модулей ядра.

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

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

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

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

 


Проектирование структуры программного обеспечения


Организация системного окружения разрабатываемого программного обеспечения


Разработка программного обеспечения


Отладка и тестирование


Исследование возможных опасных и вредных факторов при эксплуатации ЭВМ и их влияние на пользователей

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

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

В данном разделе дипломного проекта будет произведен  расчет информационной нагрузки оператора ЭВМ и спроектировано оптимальное рабочее место с точки зрения эргономики.

Любой производственный процесс, в том числе работа с ЭВМ, сопряжен с появлением опасных и вредных факторов.

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

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

При работе над дипломом использовались:

  1.  Сеть 380 В/220 В.
  2.  Помещения без повышенной опасности (сухие, температура +5 - 30 градусов Цельсия, относительная влажность меньше или равна 60%, коэффициент заполнения менее 0,2).
  3.  Компьютер (монитор LG Flatron, системный блок, клавиатура, мышь), принтер, сканер.

Характеристики монитора LG Flatron 775FT: разрешение по горизонтали (max) 1280 пикселей; разрешение по вертикали (max) - 1024 пикселей; легко регулируемые контрастность и яркость; частота кадровой развертки при максимальном разрешении   - 50-160 Гц; частота строчной развертки при максимальном разрешении - 30-70 кГц.

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

Из анализа этих факторов видна необходимость защиты от них.


Методы и средства защиты пользователей от воздействия на них опасных и вредных факторов.

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

Воздействие тока на человека, при прохождении через тело, бывает:

  •  Термическое - нагрев тканей, окружающей среды.
  •  Электролитическое - разложение крови плазмы.
  •  Биологическое - раздражение нервных окончаний тканей, судорожное сокращение мышц.
  •  Механическое - разрыв тканей, получение ушибов, вывихов.

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

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

Наиболее опасным переменным током является ток 20 - 100 Гц. Так как компьютер питается от сети переменного тока частотой 50 Гц, то этот ток является опасным для человека.

Защиту от поражения электротоком осуществляют: обеспечением недоступности токоведущих частей от случайных прикосновений; электрическим разделением сети; устранением опасности поражения при появлении напряжения на частях машины; применением специальных электрозащитных средств; организацией безопасной эксплуатации электроустановок1.

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

Технически от напряжения можно защититься с помощью зануления.

Зануление - это преднамеренное электрическое соединение с нулевым защитным проводником металлических нетоковедущих частей ЭЛУ, которые могут оказаться под напряжением. Применяется в 3-хфазных сетях с заземленной нейтралью при напряжении менее 1000В.

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

 

где НЗП - нулевой защитный проводник.

По заданным параметрам определим возможный Jк.з.:

(формула 1), где:

Jк.з. - ток короткого замыкания [А];

Uф - фазовое напряжение [B];

rm - сопротивление катушек трансформатора [Ом];

rнзп - сопротивление нулевого защитного проводника [Ом].

Uф = 220 В; Ом ( по паспорту )

 (формула 2), где:

- удельное сопротивление материала проводника [Ом*м];

l - длина проводника [м];

s – площадь поперечного сечения проводника [мм2].

По величине  определим с каким  необходимо включить в цепь питания ПЭВМ автомат.

рмедь= 0,0175 Ом*м

=400 м  ;  =150 м  ;  =50 м ;

;      9,1

(формула 3), где K – качество автомата.

 

Отсюда следует, что для отключения ПЭВМ от сети в случае короткого замыкания или других неисправностей в цепь питания ПЭВМ необходимо ставить автомат с   Jном= 8 А.

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

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

При повышении напряженности поля Е>15 кВ/м, статическое электричество может вывести из строя компьютер.

Для защиты от статического электричества предусмотрены специальные шнуры питания с встроенным заземлением. Там, где это не используется (отсутствует розетка) необходимо заземлять корпуса оборудования.

Также для защиты от воздействия электрического тока все корпуса оборудования, клавиатура, защелки дисководов и кнопки управления выполнены из изоляционного материала.

Кроме того, защита осуществляется: проветриванием без присутствия пользователя, влажной уборкой, нейтрализаторами статического электричества, подвижность воздуха в помещении должна быть не более 0.2 м/с.

Отдельный вопрос - производственое излучение.

Дисплейные мониторы представляют собой источники интенсивных электромагнитных полей.

Электромагнитное поле создается магнитными катушками отклоняющей системы, находящимися около цокольной части электронно-лучевой трубки монитора. По данным отечественных исследователей, в районе дисплея могут образовываться электромагнитные поля радиочастот (диапазон 5—10 МГц), создаваемые системой модуляции электронного луча.

В дисплее ПЭВМ высоковольтный блок строчной развертки и выходного строчного трансформатора вырабатывает высокое напряжение до 25 кВ для второго анода электронно-лучевой трубки. А при напряжении от 5 до 300 кВ возникает рентгеновское излучение различной жесткости, которое является вредным фактором при работе с ПЭВМ (при 15 - 25 кВ возникает мягкое рентгеновское излучение). Поскольку в мониторах уже начиная с TCO95 рентгеновское излучение погашено, то в дальнейшем мы его рассматривать не будем.

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

Во время работы компьютера дисплей создает ультрафиолетовое излучение, при  повышении плотности которого >10 Вт/м2, оно становиться  для человека вредным фактором. Его воздействие особенно сказывается при длительной работе с компьютером.

Электромагнитные поля с частотой 60 Гц и выше могут инициировать изменения в клетках животных (вплоть до нарушения синтеза ДНК). В отличие от рентгеновского излучения, электромагнитные волны обладают необычным свойством: опасность их воздействия при снижении интенсивности не уменьшается,  мало того, некоторые поля действуют на клетки тела только при малых интенсивностях или на конкретных частотах. Переменное электромагнитное поле, совершающее колебания с частотой порядка 60 Гц, вовлекает в аналогичные колебания молекулы любого типа, независимо от того, находятся они в мозге человека или в его теле. Результатом этого является изменение активности ферментов и клеточного иммунитета, причем сходные процессы наблюдаются в организмах при возникновении опухолей.

Степень воздействия электромагнитных излучений на оператора ЭВМ зависит от продолжительности облучения, характера и режима излучения, индивидуальных особенностей организма. Биологическое действие ЭМП является обратимым, если прекратить воздействие, но способно накапливаться в организме.

Длительное воздействие ЭМП низких частот вызывает функциональные нарушения сердечно-сосудистой и центральной нервной систем человека, некоторые изменения в составе крови. При интенсивном длительном характере излучения могут возникнуть злокачественные опухоли, катаракта глаз.

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

а) экранирование экрана монитора. Поверхность экрана покрывается слоем оксида олова, либо в стекло ЭЛТ добавляется оксид свинца;

б) удаление рабочего места от источника электромагнитного поля. Оператор должен находиться на расстоянии вытянутой руки от экрана монитора;

в) рациональное размещение оборудования. Необходимо располагать ПЭВМ на расстоянии не менее 1.22 м от боковых и задних стенок других мониторов;

г) ограничение времени работы за ПЭВМ. Время непрерывной работы должно составлять не более 4 ч в сутки. За неделю суммарное время работы не должно превышать 20 ч.

Ультрафиолетовое излучение - электромагнитное излучение в области, которая примыкает к коротким волнам и лежит в диапазоне длин волн ~ 200 - 400 нм.

Различают следующие спектральные области:

  1.  200 - 280 нм - бактерицидная область спектра.
  2.  280 - 315 нм - Зрительная область спектра (самая вредная).
  3.  315 - 400 нм - Оздоровительная область спектра.

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

Энергетической характеристикой является плотность потока мощности [Вт/м2]. Биологический эффект воздействия определяется внесистемной единицей эр: 1 эр - это поток (280 - 315 нм), который соответствует потоку мощностью 1 Вт.

Воздействие ультрафиолетового излучения сказывается при длительной работе за компьютером. Максимальная доза облучения:  7.5 мэр*ч/ за рабочую смену;  60 мэр*ч/ в сутки.

Для защиты от ультрафиолетового излучения применяют:  защитные фильтры или специальные очки (толщина стекол 2мм, насыщенных свинцом); одежду из фланели и поплина; делают побелку стен и потолка (ослабляет на 45-50%).

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

Назначение его состоит в том, чтобы: 1) снижать утомляемость, 2) увеличивать условия зрительной работы, 3) способствовать повышению производительности труда и качества продукции, 4) оказывать благоприятное воздействие на психику, 5) уменьшать уровень травматизма и увеличивать безопасность труда.

К освещению предъявляются следующие требования:

  1.  В рабочей зоне освещение должно быть в такой мере, чтобы рабочий имел возможность хорошо видеть процесс работы не напрягая зрение и не наклоняясь (менее чем на 0,5 метра до глаз) к объекту.
  2.  Освещение не должно создавать резких теней, бликов и оказывать слепящее действие. Глаза должны быть защищены от прямых источников света.
  3.  Спектральный состав света должен быть приближен к естественному свету.
  4.  Уровень освещенности должен быть достаточен и соответствовать условиям зрительной работы.
  5.  Уровень освещенности должен обеспечивать равномерность и устойчивость уровня освещенности.
  6.  Освещение не должно создавать блескости как самих источников света, так и предметов, находящихся в рабочей зоне.

Требования к освещению в вычислительных центрах:

Местное освещение не рекомендуется. Используется общее освещение. Максимальная освещенность 400 лк, блескость менее 15 ед., пульсация менее 10%.

Освещенность на поверхности стола в зоне размещения рабочего документа должна быть 300 - 500 лк. Допускается установка светильников местного освещения для подсветки документов. Местное освещение не должно создавать бликов на поверхности экрана и увеличивать освещенность экрана более 300 лк.

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

Следует ограничивать неравномерность распределения яркости в поле зрения монитором и ПЭВМ, при этом соотношение яркости между рабочими поверхностями не должно превышать 3:1 - 5:1, а между рабочими поверхностями и поверхностями стен и оборудования 10:1.

Лампы рекомендуется использовать белого света, холодного белого света, наиболее близкие к естественному свету. Мощность ламп 36-40 ВТ, температура 3000-4200 градусов Кельвина, тогда они не дают высокого ультрафиолетового излучения.

Основной поток естественного света должен быть слева. Солнечные лучи и блики не должны попадать в поле зрения работающего с ПЭВМ.

Стоит подумать и о производственных шумах.

Шум - это совокупность звуков2 с различными частотами и фазами, беспорядочно изменяющимися во времени и вызывающими неприятные ощущения у человека.

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

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

  1.  Звуковое давление 2*10-5 - 2*102 Па;
  2.  Интенсивность 10-12 - 102 Вт/м2;

Минимальное звуковое давление и интенсивность, которые воспринимаются человеком, называются порогом слышимости.

Воздействие шума на человека:

  1.  Шум повышает расход энергии при одинаковой физической нагрузке, ослабляет внимание, замедляет скорость химических реакций.
  2.  Угнетается центральная нервная система, изменяется частота дыхания и пульса, нарушается обмен веществ, возникают сердечно-сосудистые заболевания.

При выполнении основной работы на мониторах и ПЭВМ, уровень шума не должен превышать 65 дБА.

На рабочих местах в помещениях для размещения шумных агрегатов вычислительных машин (АЦПУ, принтеры и др.) уровень шума не должен превышать 75 дБА. Шумящее оборудование (АЦПУ, принтеры и др.), уровни шума которого превышают нормированные, должно находится вне помещения с монитором и ПЭВМ.

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

Дополнительным звукопоглощением служат однотонные занавеси из плотной ткани, гармонирующие с окраской стен и подвешенные в складку на расстоянии 15 - 20 см от ограждения. Ширина занавеси должна быть в 2 раза больше ширины окна.

К рабочему месту с ЭВМ тоже нужно отнестись серьезно:

  1.  Рабочие места с компьютерами должны размещаться таким образом, чтобы расстояние от экрана одного видеомонитора до тыла другого была не менее 2,0 м, а расстояние между боковыми поверхностями видеомониторов – не менее 1,2 м.
  2.  Экран видеомонитора должен находиться на расстоянии 600 - 700 мм, но не ближе 500.
  3.  Высота рабочей поверхности стола должна регулироваться в пределах 680-800 мм; при отсутствии такой возможности высота рабочей поверхности стола должна составлять 725 мм.
  4.  Рабочий стол должен иметь пространство для ног высотой не менее 600 мм, глубиной на уровне колен – не менее 450 мм и на уровне вытянутых ног – не менее 650 мм.
  5.  Рабочий стул (кресло) должен быть подъемно-поворотным и регулируемым по высоте и углам наклона сиденья и спинки, а так же – расстоянию спинки от переднего края сиденья.
  6.  Рабочее место должно быть оборудовано подставкой для ног, имеющей ширину не менее 300 мм, глубину не менее 400 мм, регулировку по высоте в пределах до 150 мм и по углу наклона опорной поверхности подставки до 20 градусов; поверхность подставки должна быть рифленой и иметь по переднему краю бортик высотой 10 мм.
  7.  Рабочее место с персональным компьютером должно быть оснащено легко перемещаемым пюпитром для документов.
  8.  Площадь на одно рабочее место с ПЭВМ для взрослых пользователей должна составлять не менее 6,0 кв. м., а объем не менее 20,0 куб. м.
  9.  Для внутренней отделки интерьера помещений с мониторами и ПЭВМ должны использоваться диффузно - отражающиеся материалы с коэффициентом отражения для потолка - 0,7 - 0,8; для стен - 0,5 - 0,6; для пола - 0,3 - 0,5.

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

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

Самочувствие и здоровье персонала ЭВМ при исполнении выбранных методов и способов защиты от опасных и вредных факторов будут обеспечены.


Заключение


Выводы


Литература

http://ru.wikipedia.org/wiki/Начальная_загрузка_компьютера

http://www.ibm.com/developerworks/ru/library/l-linux-kernel/


Словарь терминов


Приложения

Приложение А.

Протокол загрузки ядра Linux через UART

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

Загрузка ядра в DDR

PC посылает DaVinci управляющий символ «T», информирующий о готовности передавать данные. PC отправляет информацию о размере загружаемого ядра (4 байта, в порядке 0, 1, 2, 3). DaVinci устанавливает начальный адрес указателя в 0х80000000. PC читает данные из файла с ядром и осуществляет передачу данных через UART. DaVinci читает данные и записывает их в DDR. После завершения приема данных переходит в состояние ожидания команды.

Верификация

PC посылает DaVinci управляющий символ «V», информирующий о необходимости верифицировать данные. PC отправляет информацию о размере загружаемого ядра (4 байта, в порядке 0, 1, 2, 3). DaVinci устанавливает начальный адрес указателя в 0х80000000, считывает данные из DDR и пересылает их через UART. PC читает данные из файла с ядром и сравнивает их с полученными из COM-порта. После завершения верификации DaVinci переходит в состояние ожидания команды.

Завершение загрузки

PC посылает DaVinci управляющий символ «D», информирующий о завершении загрузки ядра.  DaVinci завершает работу UBL, отправляет сообщение «DONE» и передает управление ядру. PC ожидает сообщений о процессе загрузки ядра

1  Электроустановка (ЭЛУ) - это совокупность машин, аппаратов, линий и вспомогательного оборудования вместе с помещениями, где они установлены, предназначенная для производства, трансформации, передачи, распределения электрической энергии и преобразования ее в другие виды.

2  Звук - это следствие пульсации упругих волн, распространяющихся в окружающей среде.


 

А также другие работы, которые могут Вас заинтересовать

82158. Денежно-кредитная политика и ее роль в стабилизации денежного обращения 3.15 MB
  Сбои в функционировании мировых финансовых рынков подтолкнули денежные власти в странах с рыночной экономикой к активному поиску путей и средств противодействия нарастающей дестабилизации денежно-кредитной сферы. В условиях вовлеченности РФ в мирохозяйственные связи аналогичные задачи становятся...
82159. Театрализованный вечер «This is Barbara», посвященный юбилею Барбары Стрейзанд 9.48 MB
  Барбара Стрейзанд совершала собственные революции, нарушая каноны и попирая традиции. Актриса преодолела все: скепсис, недоверие, усмешки, отказы. И добилась не только славы, но и репутации красавицы. И это действительно красота – красота таланта.
82160. Психокоррекция личностной тревожности у подростков с легкой степенью умственной отсталости 1.6 MB
  Внимание к проблемам детей с интеллектуальной недостаточностью, вызвано тем, что их количество не уменьшается. Об этом свидетельствуют статистические данные по всем странам мира. Это обстоятельство делает первостепенным вопрос о создании условий для максимальной коррекции нарушений в развитии детей данной категории.
82161. СПЕЦИФІЧНІ РИСИ ПОРТРЕТНОГО ФОТОНАРИСУ В ГАЗЕТНІЙ ТА ЖУРНАЛЬНІЙ ПЕРІОДИЦІ ЗМІ НА ПРИКЛАДІ ГАЗЕТИ «МИГ» ТА ЖУРНАЛУ «ЛИЧНОСТИ» 90.23 KB
  Сюжетна завершеність фотонарису свідчить про те що в ньому знаходить завершення образу героя або публіцистична ідея але зовсім не вичерпується тема. Автори показують свого героя на прогулянці із внучкою у заводському цеху у Кремлі відзначають що Сорокін не тільки майстер своєї справи але й турботливий вихователь...
82162. Анализ общей и специальной физической подготовки спортсменов в айкидо и карате 2.37 MB
  Проведя анализ общих и специальных физических упражнений в каратэ и айкидо на основе личного опыта и из разнообразных источников, я пришел к выводу, что многие тренеры (сэнсэй2) пренебрегают разминкой и в большинстве случаев не имеют четкой методической последовательности при проведении разминки.
82163. Разработка отладчика для программ на языке haXe и целевой платформы Adobe Flash 9 2 MB
  По указанным причинам, стало удобно и выгодно создавать web-приложения, направленные на предоставление пользователю функций, которые могут не зависеть от операционной системы. В качестве примера можно привести редактирование текстовых документов, обработку фотографий, показ презентаций...
82164. Государственная социальная политика и социальное развитие Кубы в 1970-х – 2000-х годах 997 KB
  В нашей стране Куба всегда вызывала большой интерес так как с этой страной ее на протяжении многих десятилетий связывали крепкие дружественные связи. Приступая к построению нового общества Республика Куба располагала весьма ограниченными материальными возможностями для одновременного решения...
82165. ВЛИЯНИЕ РАЗЛИЧНЫХ ТИПОВ СОКРАТИЧЕСКОГО ДИАЛОГА НА ГЕНЕЗ ПРЕДСТАВЛЕНИЙ ДЕТЕЙ СТАРШЕГО ДОШКОЛЬНОГО ВОЗРАСТА О ДРУЖБЕ 268 KB
  В нашем беспокойном веке, который очень схож со временем Сократа по своему пристрастию к слову и властью его над людьми, а также полифоничностью самой эпохи, необходимо искать разумные способы употребления слова, уходить от монологического понимания риторики и искать диалогического общения...
82166. Совершенствование организации быстрого питания в условиях развивающегося рынка на примере трактира «Сани» 1022.5 KB
  В состав компании «Даско» помимо шести ресторанов различного формата ( от предприятия на фуд-корте торгового центра до элитного заведения, любимого представителями финансовых верхов республики и культурной богемой) входит дистрибьюторская компания, занимающаяся оптовыми поставками алкогольной продукции