При автоматизации производства или технических процессов, как правило, применяются запрограммированные контроллеры или контроллеры с постоянным запоминающим устройством (ПЗУ), в котором хранятся рабочие программы. А как быть, если программу требуется модифицировать в процессе работы и к тому же дистанционно? Об одном из вариантов решения этой задачи расскажем вам.
Несмотря на неординарность данной задачи, ее актуальность очевидна. Ярким примером такого решения является повседневная работа на компьютере. Ведь мы даже не задумываемся о том, как много раз за день меняем программу для процессора компьютера, загружая различные программы и приложения.
В данном случае задача облегчается тем, что компьютер имеет встроенный носитель данных в виде жесткого диска, на котором размещены все программы. Но вот мы подключаемся к сети Интернет. Теперь нам доступны программы с любого конца света, которые мы можем загрузить и выполнить! А теперь представим себе, что наш контроллер установлен на каком-либо станке и управляет его работой с помощью рабочей программы.
Для того чтобы сменить режим работы станка, необходимо заменить управляющую программу контроллера. Лучше всего сделать это дистанционно, поскольку при таком способе процедура многократно ускоряется, не изнашивается оборудование, нет ограничений по числу итераций. Одним словом, налицо все преимущества данного способа. А теперь о самой реализации.
Для решения большинства задач автоматизации подходят хорошо известные многим разработчикам цифровой техники микроконтроллеры семейства MSC, другое название которых — однокристальные микроЭВМ. Известно также, что данные микроконтроллеры в отличие от классической организации процессоров “фон-неймановского” типа имеют “гарвардскую” архитектуру, поэтому память программ и память данных у них физически и логически разделены. По этой причине MSC микроконтроллеры не позволяют производить дистанционную загрузку новой программы во время
работы при стандартном включении внешней памяти, что ограничивает возможность их применения. Однако этот недостаток легко устраняется путем нестандартного подключения памяти программ и данных. Данный прием реализован в разработанном автором и предлагаемом вниманию читателей контроллере.
Контроллер построен на базе процессора 80С31 семейства MSC. Этот процессор позволяет подключить 64 К внешней памяти программ и такой же объем памяти данных. Поскольку обращение к памяти программ производится с помощью отдельного сигнала процессора, память данных не может быть использована для хранения и выборки из нее кода программ. Однако если объединить с помощью простой логики сигналы выборки памяти программ и памяти данных, то для процессора уже не будет разницы между этими типами данных. Именно этот прием и реализован в контроллере.
В качестве канала связи с внешним миром используется интерфейс RS-232. С целью расширения функциональных возможностей контроллер снабжен регистрами ввода/вывода, которые можно устанавливать по мере необходимости.
Ниже приведены основные технические характеристики контроллера:
• тип процессора — 80С31(51);
• тактовая частота процессора 11052 кГц;
• емкость постоянного запоминающего устройства — 8 К;
• емкость оперативного запоминающего устройства — 8 К;
• звуковой излучатель — пьезоэлектрический.
• интерфейсы:
• один порт аппаратно формируемого интерфейса RS-232;
• один вход внешнего прерывания (-INTO);
• один вывод таймера (ТО);
• шесть двунаправленных программируемых выводов (Р11—Р16)
• два восьмиразрядных регистра ввода (RIA, RIB);
• два восьмиразрядных регистра вывода (ROA, ROB).
Питание контроллера производится от источника +5В, потребляемый ток — не более 4 А.
Рис.1.
Параметры сигналов входных и выходных портов соответствуют уровням ТТЛ. На рис. 1 приведена структурная схема контроллера.
Микроконтроллер МК имеет доступ к ОЗУ, ПЗУ, регистрам ввода RIA, RIB и вывода ROA, ROB через шину адреса и шину данных.
Выбор конкретного устройства производится с помощью схемы управления СУ. Связь с управляющим компьютером происходит по интерфейсу RS-232.
Преобразователь уровней ПУ обеспечивает прямое и обратное преобразование сигналов ТТЛ уровней в уровни сигналов интерфейса RS-232. Принципиальная схема контроллера приведена на рис. 2. В контроллере применены, в основном, комплектующие импортного производства, которые допускают прямую замену на отечественные аналоги.