Типы микроконтроллеров и МП-систем

1. По назначению:

Универсальные – служат основой для построения персональных компьютеров и МП-систем.

Специализированные 1)Периферийные контроллеры - осуществляют интеллектуальный ввод и вывод информации в сложных МП-системах.

2)Цифровые процессоры сигналов – ориентированы на обработку аналоговых сигналов цифровыми методами.

 

2. По разрядности –от первых 4-х разрядных до 8, 16, 32 и 64-х разрядных.

 

3. По архитектуре процессора:

Неймановского типа - память программ (ПП) и память данных (ПД) имеют совмещенное адресное пространство.

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

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

Достоинство – более простая аппаратная реализация.

Недостаток – ниже производительность, сложнее программирование.

Гарвардского типа - адресное пространство памяти программ и памяти данных разделены.

При этом в системе могут одновременно существовать области ПП и ПД с одинаковыми адресами.

Разделение производится на уровне управляющих сигналов – доступ к памяти осуществляется при помощи разных команд при формировании разных сигналов управления.

Достоинство – более высокая производительность.

Недостаток – сложная аппаратная реализация.

4. По способу организации системы команд:

МП с системой команд CISC (Complex Instruction Set Computer)– имеют развернутую систему команд, каждая из которых может иметь несколько вариаций, длину из нескольких слов и выбирается за несколько циклов.

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

МП с системой команд RISC (Reduced Instruction Set Computer) – имеют сокращенную систему команд, количество команд в системе команд ограничено примерно 30-50 команд. Каждая команда имеет фиксированную длину (как правило, 1 слово). Команды выбираются из памяти за 1 цикл, содержат код команды и, при необходимости, данные.

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

 

5. По способу организации памяти:

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

Достоинство - простота, недостаток - трудность организации перемещаемых программных модулей.

2. МП-системы с сегментным принципом организации памяти, когда вся область памяти делится на сегменты по 64 Кбайта.

Сегменты могут быть неперекрывающимися, частично перекрывающимися или полностью перекрывающимися.

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

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

Сегменты располагаются в памяти по границам параграфов – блоков по 16 байт. Адреса сегментов хранятся в сегментных регистрах процессора. Изменяя их содержимое, мы меняем адрес соответствующего сегмента.

Стек - область памяти, организованная по принципу «последним вошел, первым вышел» (LIFO). Адрес верхушки стека хранится в специальном регистре – указателе стека SP.

Очередь– область памяти организованная по принципу «первым вошел, первым вышел» (FIFO).

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


 

Микропроцессорные информационно-управляющие системы

в устройствах железнодорожной автоматики, телемеханики и связи

 

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

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

Современные микропроцессорные информационно-управляющие системы в устройствах автоматики, телемеханики и связи железнодорожного транспорта реализуют следующие функции:

- центральные и локальные пункты АСУ ТП;

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

- системы телекоммуникации;

- средства автоматизации мобильных объектов;

- локальные и станционные системы управления ЛИУК;

- автоматизированные рабочие места и рабочие станции;

- системы сбора данных и оповещения.

 

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

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

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

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

Управление осуществляется реле, лампами, стрелочными приводами.

Специфика работы устройств железнодорожного транспорта предъявляет к МИУС следующие требования:

- обеспечение высокой надёжности ввиду большой продолжительности

работы и сложных условий эксплуатации;

- работа в реальном масштабе времени для обеспечения минимального

времени реакции на изменение внешних условий;

- оптимизация структуры системы и возможность выбора

производительности с учетом конкретной технологической задачи;

- обеспечение автоматического режима работы или режима с участием

оператора как элемента системы;

- наличие развитой системы внешних устройств, их большое разнообразие;

- широкий набор телекоммуникационных возможностей;

- возможность «горячей» замены модулей, входящих в состав системы;

- значительную стойкость к механическим воздействиям;

- возможность работы в широком температурном диапазоне

 

Все МИУС делятся на локально сосредоточенные системы и распределенныесистемы.

При построении локально сосредоточенных МИУС все компоненты, включая средства интерфейса пользователя, размещают в непосредственной близости от технологического объекта. Технические средства таких МИУС располагаются в едином конструктиве (монтажный шкаф, стойка), а блок управления выполняется на основе технологической микро-ЭВМ.

Применение локально сосредоточенных МИУС требует учитывать их следующие недостатки: использование сложной системы требует ввода большого количества сигналов (тысячи и более); при передаче сигналов на большие расстояния значительны материальные затраты на кабель; неисправность системы приводит к её выводу из строя в целом, следовательно требуется 100% резервирование.

 

 

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

 

Элементы многоконтроллерных распределенных МИУС не всегда равноправны. Большинство сложных систем имеют иерархическую структуру и несколько уровней: микроконтроллеры сбора данных, концентраторы информации, сервер и рабочие станции и др.

 

 

В состав каждой микропроцессорной системы входят две составляющие:

1) технические или аппаратные средства;

2) программное обеспечение.

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

1) базовое, к которому относятся BIOS или мониторы;

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

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

 

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

- система диспетчерской централизации ДЦМ-Юг с РКП,

- комплексы горочные микропроцессорные КГМ,

- автоматизированные системы контроля подвижного состава АСКПС типа КТСМ-01Д и КТСМ-02,

- система централизации АСКПС на основе СПД ЛП на микропроцессорных концентраторах информации КИ-6М,

- комплексное локомотивное устройство безопасности КЛУБ,

- система автоматического управления торможением САУТ,

- горочная автоматическая локомотивная сигнализация ГАЛС и маневровая автоматическая локомотивная сигнализация МАЛС,

- система автоматической идентификации подвижного состава «Пальма»,

- автоматизированные рабочие места, например АРМ ШНС для старшего электромеханика,

- стационарная радиостанция поездной радиосвязи РС-46М,

- речевые информаторы РИ-1М и РИ-1В и др.

 

Этапы разработки микропроцессорных систем на основе микроконтроллера

 

Основной особенностью современного этапа развития микропроцессорных систем (МП-систем) является завершение перехода от систем, выполненных на основе нескольких больших ИС, к однокристальным микро-ЭВМ (микроконтроллерам), объединяющим в одном кристалле все основные элементы МП-системы: центральный процессор (ЦП), постоянное запоминающее устройство (ПЗУ), оперативное запоминающее устройство (ОЗУ), порты ввода/выводы, таймеры.

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

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

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

- цифровые сигнальные процессоры.

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

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

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

Росту популярности восьмиразрядных микроконтроллеров способствует постоянное расширение номенклатуры изделий, выпускаемых такими известными фирмами, как Motorola, Microchip, Intel, Zilog, Atmel Philips и многими другими.

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

Сложившаяся к настоящему времени методология проектирования МП-системы может быть представлена так, как показано на рисунке 1.

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

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

Функциональная спецификация и требования пользователя являются критериями оценки функционирования МП-системы после завершения проектирования.

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

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

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

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

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

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

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

 

 

Рисунок 1 - Основные этапы разработки микропроцессорной системы на основе микроконтроллера

 

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

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

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

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

 

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

 

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

Рисунок 2 – Этапы разработки программного обеспечения МП-систем

 

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

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

Разработка программного обеспечения начинается с создания исходного текстового модуля, содержащего текст программы на выбранном языке программирования. Текстовые модули на языке ассемблера имеют формат *.ASM, *A51.

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

Компоновка объектного модуля производится при помощи специальной программы - редактора связей. Результатом компоновки является создание исполняемого модуля. Исполняемый модуль содержит машинные коды, предназначенные для загрузки в микропроцессор, с указанием всех адресов.Исполняемые модули, предназначенные для использования в той же операционной среде, в которой производится компоновка, обычно имеют расширение *.EXE, *.COM. исполняемые модули, предназначенные для исполнения в другой МП-системе, например, на основе микроконтроллеров, называют загрузочными (файлы формата *.HEX, *.BIN).

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

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

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

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

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

 

Разработка и отладка аппаратных средств

 

Разработкааппаратных средств включает в себя разработку общей принципиальной схемы, разводку топологии плат, монтаж макета и его автономную отладку. Время выполнения этих этапов зависит от имеющегося набора апробированных функционально-топологических модулей, опыта и квалификации разработчика. На этапе ввода принципиальной схемы и разработки топологии используются, как правило, распространенные системы проектирования типа «ACCEL EDA», «OrCad», «AutoСad» и др.

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

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

Методы и средства совместной отладки аппаратных и программных средств МП-системы

 

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

К числу основных инструментальных средств отладки относятся:

- внутрисхемные эмуляторы;

- платы развития (оценочная плата);

- мониторы отладки;

- эмуляторы ПЗУ;

- интегрированные среды разработки.

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

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

Далее работа МП-системы проверяется с использованием лабораторных источников питания. Часть внешних источников сигналов может моделироваться.

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

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