Программы встроенных систем
Встроенные системы являются неотъемлемой частью информаци- онно-управляющих систем (ИУС): в большинстве своем они содержатся в объектах управления, в подсистемах ИУС, непосредственно управляющих объектами управления. Встроенные системы самостоятельно используются в бытовой технике: в стиральных машинах, телевизорах, холодильниках и др.
На практике используется большой класс бортовых ИУС, осуществляющих управление движущимися объектами и системами: автомобилями, локомотивами, самолетами, морскими судами, ракетами и т.д. В подавляющем большинстве случаев ПО встраиваемой системы нельзя рассматривать в отрыве от аппаратного обеспечения, конструкции системы и особенностей ее окружения. Необходимо понимать, что проектируется не часть системы, а система в целом. Подходы, используемые современными программистами при создании больших программных систем общего назначения, как правило, не пригодны для встраиваемых систем или пригодны с большими ограничениями.
Контроллер встроенной системы. Главной отличительной особенностью встроенной системы является наличие в ней контроллерной сети или хотя бы одного контроллера. Контроллер (от англ, controller — регулятор, управляющее устройство) представляет собой достаточно сложную компьютерную систему. Обычно контроллер строится с помощью микропроцессорной техники.
Контроллер состоит из двух основных частей: ядра и модуля ввода- вывода. Ядро микропроцессорного контроллера составляют микропроцессор, системный контроллер (СК) и устройства памяти. Для хранения программ и данных ядро микроконтроллера содержит оперативное запоминающее устройство (ОЗУ), ПЗУ и репрограммиру- емое запоминающее устройство (РПЗУ). Постоянное запоминающее устройство используется только для хранения программ управления. Эти программы, разработанные и отлаженные на специальных средствах отладки, заносятся в ПЗУ в заводских условиях, и пользователь изменять их не может. Репрограммируемое запоминающее устройство в отличие от ПЗУ допускает изменение своего содержания, т.е. РПЗУ позволяет производить программирование микроконтроллеров. Оперативное запоминающее устройство используется для хранения данных, необходимых для выполнения основной программы управления. Обращение к ячейкам памяти адресное.
Любой алгоритм управления микроконтроллерной системой реализуется управляющей программой, которая представляет собой цифровые двоичные коды, размещенные в ячейках ПЗУ. Особенностью управляющих контроллеров является то, что в его состав не входят средства отладки программ, так как основной набор программных модулей, составляющих библиотеку программ контроллера, заносится в его память в заводских условиях и изменению не подлежит. Пользователь имеет только возможность из имеющегося набора программных модулей составить конфигурацию контура направления.
Возрастающая степень интеграции цифровых микросхем определила появление в настоящее время промышленных микроконтроллеров, реализованных на одном кристалле. На кристалле такого контроллера, кроме микропроцессора, находятся модуль памяти, интерфейсные схемы и даже таймер. По сути, такие контроллеры — это однокристальные ЭВМ малой производительности. Система команд однокристальных контроллеров позволяет организовать сложную управляющую систему с большим количеством внутри программных ветвлений в соответствии с целью управления и состоянием первичных преобразователей. Существующая возможность их перепрограммирования, а также малые габариты создают предпосылки для создания компактных ИУС, встраиваемых в промышленное оборудование.
Программы встроенных систем — это класс прикладных программ, созданных с помощью программно-аппаратных средств. Программа создается на языке функциональных диаграмм FBD (Function Block Diagram) — стандартизированном языке программирования для промышленных контроллеров. На экране компьютера формируется графическое описание работы контроллера. В квадратиках выписываются формулы, логика переходов. С левого края обозначаются входные сигналы. С правой стороны графической схемы обозначаются управляющие действия. Программа представлена не в виде алгоритма, а в виде принципиальной схемы: таймеры, счетчики и т.п. Поэтому получается очень наглядное изображение процесса функционирования программы. К тому же отладка программы производится в реальном времени при работающем контроллере, когда подсвечиваются работающие блоки программы, переменные, входы-выходы. Заливка кода в контроллер осуществляется без останова контроллера.